Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python3:matplotlib使用字典绘制四行_Python_Python 3.x_Dictionary_Matplotlib_Plot - Fatal编程技术网

python3:matplotlib使用字典绘制四行

python3:matplotlib使用字典绘制四行,python,python-3.x,dictionary,matplotlib,plot,Python,Python 3.x,Dictionary,Matplotlib,Plot,有一本字典,m={'a':[1.5,3.6,5.7,6,7,8],'B':[3.5,5,6,8,4,5],'C':[2.8,3.5,4.5,5.6,7.0,9.0]}。我想在一个图中用python matplotlib绘制三行(如下图所示)。x-aix是相同的:[1、2、3、4、5、6]。三个y值是键(A,B,C)的值。A,B,C是三行标签。如何绘制它。我已经尝试了以下代码,但它是错误的,你能告诉我怎么做吗 迭代字典只产生键 >>> dict_s = { ... 'A

有一本字典,m={'a':[1.5,3.6,5.7,6,7,8],'B':[3.5,5,6,8,4,5],'C':[2.8,3.5,4.5,5.6,7.0,9.0]}。我想在一个图中用python matplotlib绘制三行(如下图所示)。x-aix是相同的:[1、2、3、4、5、6]。三个y值是键(A,B,C)的值。A,B,C是三行标签。如何绘制它。我已经尝试了以下代码,但它是错误的,你能告诉我怎么做吗


迭代字典只产生键

>>> dict_s = {
...     'A': [1.5, 3.6, 5.7, 6, 7, 8],
...     'B': [3.5, 5, 6, 8, 4, 5],
...     'C': [2.8, 3.5, 4.5, 5.6, 7.0, 9.0]
... }
>>> for x in dict_s:
...     print(x)
...
A
C
B
如果需要迭代(键、值)对,请使用:



迭代字典只生成键

>>> dict_s = {
...     'A': [1.5, 3.6, 5.7, 6, 7, 8],
...     'B': [3.5, 5, 6, 8, 4, 5],
...     'C': [2.8, 3.5, 4.5, 5.6, 7.0, 9.0]
... }
>>> for x in dict_s:
...     print(x)
...
A
C
B
如果需要迭代(键、值)对,请使用:



谢谢@falsetru您的友好回答,这很有帮助。但是我想为每一行绘制标签,怎么做,谢谢!谢谢@falsetru。我接受它。你是一个善良的人。谢谢@falsetru你友善的回答,这很有帮助。但是我想为每一行绘制标签,怎么做,谢谢!谢谢@falsetru。我接受它。你是个好人。
>>> for x in dict_s.items():
...     print(x)
...
('A', [1.5, 3.6, 5.7, 6, 7, 8])
('C', [2.8, 3.5, 4.5, 5.6, 7.0, 9.0])
('B', [3.5, 5, 6, 8, 4, 5])
import matplotlib.pyplot as plt

dict_s = {
    'A': [1.5, 3.6, 5.7, 6, 7, 8],
    'B': [3.5, 5, 6, 8, 4, 5],
    'C': [2.8, 3.5, 4.5, 5.6, 7.0, 9.0]
}

for k, v in dict_s.items():
    plt.plot(range(1, len(v) + 1), v, '.-', label=k)
    # NOTE: changed `range(1, 4)` to mach actual values count
plt.legend()  # To draw legend
plt.show()