首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >df.pyplot中的Markevry

df.pyplot中的Markevry
EN

Stack Overflow用户
提问于 2019-04-03 13:51:09
回答 1查看 33关注 0票数 0

我在pandas中的dataframe plot中的函数markevry有一个问题。我想在图上的每一列中标记最大值。我试着在python 3上用Pycharm编译它。我的代码如下:

代码语言:javascript
复制
#projektII
import pandas as pd
import matplotlib.pyplot as plt

dane = pd.read_table('xxx.txt', names=('rok', 'kroliki', 'lisy', 'marchewki'))
df = pd.DataFrame(dane)

data = df[1:]
data=data.astype(float)
print(data)

markers_on  = data['kroliki'].max
markers_on2 = data['lisy'].max
markers_on3 = data['marchewki'].max

ax = plt.gca()

data.plot(kind='line',x='rok',y='kroliki', color = 'blue',ax=ax, markevry = [markers_on])
data.plot(kind='line',x='rok',y='lisy', color='red', ax=ax, markevry = [markers_on2])
data.plot(kind='line',x='rok',y='marchewki',color = 'orange',ax=ax, markevry = [markers_on3])

ax.set_xlabel("rok")
ax.set_ylabel("ilosc")
plt.show()

但我每次都会看到这样的错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "C:/Users/X", line 18, in <module>
    data.plot(kind='line',x='rok',y='kroliki', color = 'blue',ax=ax, markevry = [markers_on])

  File "C:\Users\X\venv\lib\site-packages\pandas\plotting\_core.py", line 2941, in __call__
    sort_columns=sort_columns, **kwds)

  File "C:\Users\X\venv\lib\site-packages\pandas\plotting\_core.py", line 1977, in plot_frame
    **kwds)

  File "C:\Users\X\venv\lib\site-packages\pandas\plotting\_core.py", line 1804, in _plot
    plot_obj.generate()

  File "C:\Users\X\venv\lib\site-packages\pandas\plotting\_core.py", line 260, in generate
    self._make_plot()

  File "C:\Users\X\venv\lib\site-packages\pandas\plotting\_core.py", line 985, in _make_plot
    **kwds)
 ...

  File "C:\Users\MX\venv\lib\site-packages\matplotlib\artist.py", line 912, in _update_property
    raise AttributeError('Unknown property %s' % k)

AttributeError: Unknown property markevry

如果有人知道这段代码出了什么问题?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-04-03 14:18:03

第一个更改:尝试调整以下内容:

代码语言:javascript
复制
markers_on  = data['kroliki'].max
markers_on2 = data['lisy'].max
markers_on3 = data['marchewki'].max

要这样做:

代码语言:javascript
复制
markers_on  = data['kroliki'].max()
markers_on2 = data['lisy'].max()
markers_on3 = data['marchewki'].max()

第二个改变:试着调整这些:

代码语言:javascript
复制
data.plot(kind='line',x='rok',y='kroliki', color = 'blue',ax=ax, markevry = [markers_on])
data.plot(kind='line',x='rok',y='lisy', color='red', ax=ax, markevry = [markers_on2])
data.plot(kind='line',x='rok',y='marchewki',color = 'orange',ax=ax, markevry = [markers_on3])

代码语言:javascript
复制
data.plot(kind='line',x='rok',y='kroliki', color = 'blue',ax=ax, markevry = markers_on)
data.plot(kind='line',x='rok',y='lisy', color='red', ax=ax, markevry = markers_on2)
data.plot(kind='line',x='rok',y='marchewki',color = 'orange',ax=ax, markevry = markers_on3)

我想这应该行得通!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55487921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档