簡體   English   中英

使用pyplot繪制曲線

[英]Plot curve using pyplot

我有2條曲線和5個數據點:

a = np.array([['16x28', 0.023392, 0.006976],
              ['64x36', 0.029888, 0.039104],
              ['512x288', 0.033328, 2.198592],
              ['1024x576', 0.065632, 5.864992],
              ['3840x2160', 0.801120, 76.550461]])

當我繪制它時,我希望有2條曲線,但會得到直線:

plt.xticks([0,1,2,3, 4],a[:,0])
plt.plot(a[:,1])
plt.plot(a[:,2])

繪制曲線

如何使pyplot繪圖曲線像它應該的那樣?

更新:我使用Python 3.5.2和matplotlib 2.1.1

Matplotlib <2.1不允許直接繪制字符串,但是matplotlib 2.1可以。 如果檢查數據,您將看到它們是字符串:

print (a[1,1], type(a[1,1]))
# 0.029888 <class 'numpy.str_'>

因此,您需要將數據轉換為浮點數。 您可以使用numpy.ndarray.astype進行此操作。

import matplotlib.pyplot as plt
import numpy as np

a = np.array([['16x28', 0.023392, 0.006976],
              ['64x36', 0.029888, 0.039104],
              ['512x288', 0.033328, 2.198592],
              ['1024x576', 0.065632, 5.864992],
              ['3840x2160', 0.801120, 76.550461]])


plt.xticks([0,1,2,3,4], a[:,0])
plt.plot(a[:,1].astype(float))
plt.plot(a[:,2].astype(float))
plt.show()

贈送:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM