我有这个简单的matplotlib图,我在弄清楚两件事时遇到了很多麻烦:如何更改背景颜色,以及如何使网格线变为实心而不是破折号。 具体来说,有没有办法使用自定义颜色代码的背景颜色?
import sys
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
x=np.array([1,2,3,4,5,6])
y=np.array([9,8,7,6,5,4])
y2=np.array([4,4,4,4,4,3])
y3=([6,6,6,5,5,3])
plt.plot(x, y, label='Phaser 1')
plt.plot(x, y2, label='Phaser 3')
plt.plot(x, y3, label='Phaser 2')
plt.plot(x, y2)
plt.plot(x, y3)
plt.legend()
plt.grid(True)
plt.xlabel('Die Roll')
plt.ylabel('Damage')
plt.title('Phaser damage at range 0')
plt.colors()
plt.show()
答案 0 :(得分:0)
网格线,使用参数 linestyle 。对于背景使用 axisbg 关键字(也可以是HTML颜色代码,例如#FFF999)进行子图,然后再制作实际情节:
>>> import matplotlib.pyplot as plt
>>> plt.subplot('111', axisbg='#FFF999')
>>> plt.plot([1,2,3])
>>> plt.grid(b=True, which='major', color='b', linestyle='-')
>>> plt.show()