在Seaborn的地块上添加标签

生化

我使用seaborn进行了绘制,这是我在此处输入图片说明想为每条线添加一个标签。你能帮我吗?

import numpy as np
import matplotlib.pylab as plt
import matplotlib.dates as mdates


from matplotlib import style
import pandas as pd
%pylab inline
import seaborn as sns
sns.set_style('darkgrid')
import io
style.use('ggplot')
from datetime import datetime
import time
fig = plt.figure(figsize=(12, 8), dpi=100)
ax1 = fig.add_subplot(111)
x1 = pd.to_datetime(df_no_missing.TIMESTAMP, format="%h:%m")
y1 = df_no_missing.P_ACT_KW
y3 = df_no_missing.P_SOUSCR
yearFmt = mdates.DateFormatter("%H:%M:%S")
ax1.xaxis.set_major_formatter(yearFmt)
ax2 = ax1.twinx()

ax1.plot(x, y1, 'g-')
ax2.plot(x, y2, 'b-')
ax1.plot(x, y3, 'r-')
ax1.set_xlabel('temps')
ax1.set_ylabel('puissance', color='g')
ax2.set_ylabel('dépassement', color='b')
plt.ylim(plt.ylim()[0], 1.0)
plt.show()

预先谢谢你编辑

我尝试像您提到的那样:

fig = plt.figure(figsize=(12, 5), dpi=100)
ax1 = fig.add_subplot(111)
x1 = pd.to_datetime(df_no_missing.TIMESTAMP, format="%h:%m")
y1 = df_no_missing.P_ACT_KW
y3 = df_no_missing.P_SOUSCR
yearFmt = mdates.DateFormatter("%H:%M:%S")
ax1.xaxis.set_major_formatter(yearFmt)
ax2 = ax1.twinx()
ax1.plot(x, y1, 'g-', label='label 1')
ax2.plot(x, y2, 'b-', label='label 2')
ax1.plot(x, y3, 'r-', label='label 3')
ax1.plot(0, 0, 'b-', label='label 2')
ax.legend(loc=0)             # add legend in top right corner
ax.grid()                    # show grid lines
ax1.set_xlabel('temps')
ax1.set_ylabel('puissance', color='g')
ax2.set_ylabel('dépassement', color='b')
plt.ylim(plt.ylim()[0], 1.0)
plt.show()

但是我得到了这个错误:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
C:\Users\Demonstrator\Anaconda3\lib\site-packages\IPython\core\formatters.py

调用中(self,obj)337通过338否则:-> 339 return printer(obj)340#最后寻找特殊的方法名称341 method = _safe_get_formatter_method(obj,self.print_method)

C:\Users\Demonstrator\Anaconda3\lib\site-packages\IPython\core\pylabtools.py

在(fig)226227中,如果格式为'png':-> 228 png_formatter.for_type(图,lambda图:print_figure(fig,'png',** kwargs))229如果是'retina'格式或'png2x'格式:230 png_formatter.for_type(图,lambda图:retina_figure(图,** kwargs))

C:\Users\Demonstrator\Anaconda3\lib\site-packages\IPython\core\pylabtools.py

在print_figure(fig,fmt,bbox_inches,** kwargs)中117118 bytes_io = BytesIO()-> 119图.canvas.print_figure(bytes_io,** kw)120 data = bytes_io.getvalue()121如果fmt ==' svg':

C:\Users\Demonstrator\Anaconda3\lib\site-packages\matplotlib\backend_bases.py

在print_figure中(self,filename,dpi,facecolor,edgecolor,direction,format,** kwargs)2178 direction = orientation,2179 dryrun = True,-> 2180 ** kwargs)2181 renderer = self.figure._cachedRenderer 2182 bbox_inches = self .figure.get_tightbbox(渲染器)

C:\Users\Demonstrator\Anaconda3\lib\site-packages\matplotlib\backends\backend_agg.py

在print_png(自身,filename_or_obj,* args,** kwargs)中525526 def print_png(self,filename_or_obj,* args,** kwargs):-> 527 FigureCanvasAgg.draw(self)528渲染器= self.get_renderer()529 original_dpi = renderer.dpi

C:\Users\Demonstrator\Anaconda3\lib\site-packages\matplotlib\backends\backend_agg.py

在draw(self)472473中尝试:-> 474 self.figure.draw(self.renderer)475最后:476 RendererAgg.lock.release()

C:\Users\Demonstrator\Anaconda3\lib\site-packages\matplotlib\artist.py

在draw_wrapper(artist,renderer,* args,** kwargs)中59 def draw_wrapper(artist,renderer,* args,** kwargs):60 before(artist,renderer)---> 61 draw(artist,renderer,* args) ,** kwargs)之后62(艺术家,渲染器)63

C:\Users\Demonstrator\Anaconda3\lib\site-packages\matplotlib\figure.py

在draw(self,renderer)中1157 dsu.sort(key = itemgetter(0))1158 for zorder,a,func,args in dsu:-> 1159 func(* args)1160 1161 renderer.close_group('figure')

C:\Users\Demonstrator\Anaconda3\lib\site-packages\matplotlib\artist.py

在draw_wrapper(artist,renderer,* args,** kwargs)中59 def draw_wrapper(artist,renderer,* args,** kwargs):60 before(artist,renderer)---> 61 draw(artist,renderer,* args) ,** kwargs)之后62(艺术家,渲染器)63

C:\Users\Demonstrator\Anaconda3\lib\site-packages\matplotlib\axes\_base.py

在zorder的draw(自身,renderer,inframe)2322 2323中,一个在dsu中:-> 2324 a.draw(renderer)2325 2326 renderer.close_group('axes')

C:\Users\Demonstrator\Anaconda3\lib\site-packages\matplotlib\artist.py

在draw_wrapper(artist,renderer,* args,** kwargs)中59 def draw_wrapper(artist,renderer,* args,** kwargs):60 before(artist,renderer)---> 61 draw(artist,renderer,* args) ,** kwargs)之后62(艺术家,渲染器)63

C:\Users\Demonstrator\Anaconda3\lib\site-packages\matplotlib\axis.py

在draw(self,renderer,* args,** kwargs)中1104 renderer.open_group(name)1105-> 1106 ticks_to_draw = self._update_ticks(renderer)1107 ticklabelBoxes,ticklabelBoxes2 = self._get_tick_bboxes(ticks_to_draw,1108 renderer)

C:\Users\Demonstrator\Anaconda3\lib\site-packages\matplotlib\axis.py

在_update_ticks((self,renderer))947948间隔= self.get_view_interval()-> 949 tick_tups = [t对于self.iter_ticks()中的t,如果self._smart_bounds:951#处理倒置限制

C:\Users\Demonstrator\Anaconda3\lib\site-packages\matplotlib\axis.py

in(.0)947 948 interval = self.get_view_interval()-> 949 tick_tups = [t for self.iter_ticks()中的t]如果self._smart_bounds:951#处理倒限

C:\Users\Demonstrator\Anaconda3\lib\site-packages\matplotlib\axis.py

in iter_ticks(self)890迭代所有主要和次要刻度线。891“”“-> 892 majorLocs = self.major.locator()893 majorTicks = self.get_major_ticks(len(majorLocs))894 self.major.formatter.set_locs(majorLocs)

C:\Users\Demonstrator\Anaconda3\lib\site-packages\matplotlib\dates.py

呼叫(个体)1004 DEF呼叫(个体):1005 '返回的蜱的位置' - > 1006 self.refresh()1007返回self._locator()1008

C:\Users\Demonstrator\Anaconda3\lib\site-packages\matplotlib\dates.py

in update(self)1024 def refresh(self):1025'根据当前限制刷新内部信息。-> 1026 dmin,dmax = self.viewlim_to_dt()1027 self._locator = self.get_locator(dmin,dmax)1028

C:\Users\Demonstrator\Anaconda3\lib\site-packages\matplotlib\dates.py

在viewlim_to_dt(self)中768 vmin,vmax = vmax,vmin 769-> 770 return num2date(vmin,self.tz),num2date(vmax,self.tz)771772 def _get_unit(self):

C:\Users\Demonstrator\Anaconda3\lib\site-packages\matplotlib\dates.py

in num2date(x,tz)417 tz = _get_rc_timezone()418如果不是cbook.iterable(x):-> 419 return _from_ordinalf(x,tz)420 else:421 x = np.asarray(x)

C:\Users\Demonstrator\Anaconda3\lib\site-packages\matplotlib\dates.py

在_from_ordinalf(x,tz)中269270 ix = int(x)-> 271 dt = datetime.datetime.fromordinal(ix).replace(tzinfo = UTC)272273余数= float(x)-ix

ValueError: ordinal must be >= 1





<matplotlib.figure.Figure at 0x1d3b041a400>
 print (df_no_missing.head())
              TIMESTAMP  P_ACT_KW PERIODE_TARIF  P_SOUSCR       SITE  \
145 2015-08-01 23:10:00     248.0            HC     425.0  ST GEREON   
146 2015-08-01 23:20:00     244.0            HC     425.0  ST GEREON   
147 2015-08-01 23:30:00     243.0            HC     425.0  ST GEREON   
148 2015-08-01 23:40:00     238.0            HC     425.0  ST GEREON   
149 2015-08-01 23:50:00     234.0            HC     425.0  ST GEREON   

          TARIF  depassement        date      time  
145  TURPE_HTA5          0.0  2015-08-01  23:10:00  
146  TURPE_HTA5          0.0  2015-08-01  23:20:00  
147  TURPE_HTA5          0.0  2015-08-01  23:30:00  
148  TURPE_HTA5          0.0  2015-08-01  23:40:00  
149  TURPE_HTA5          0.0  2015-08-01  23:50:00
尼克·马维利(Nickil Maveli)

您可以label为每个子图轴指定名称,并用于plt.legend在右上角添加适当的图例。

fig = sns.plt.figure(figsize=(12, 5), dpi=100)
ax1 = fig.add_subplot(111)
x1 = pd.to_datetime(df_no_missing.TIMESTAMP)
y1 = df_no_missing.P_ACT_KW
y2 = df_no_missing.depassement
y3 = df_no_missing.P_SOUSCR
yearFmt = mdates.DateFormatter("%H:%M:%S")
ax1.xaxis.set_major_formatter(yearFmt)
ax1.plot(x1, y1, 'g-', label='p_act_kw')
ax1.plot(x1, y3, 'r-', label='p_souscr')
ax2 = ax1.twinx()
ax2.plot(x1, y2, 'b-', label='depassement')
h1, l1 = ax1.get_legend_handles_labels()
h2, l2 = ax2.get_legend_handles_labels()
ax1.legend(h1+h2, l1+l2, loc='center right')
ax1.set_xlabel('temps')
ax1.set_ylabel('puissance', color='g')
ax2.set_ylabel('dépassement', color='b')
sns.plt.ylim(plt.ylim()[0], 1.0)
sns.plt.show()

图像

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在使用熊猫制作的地块上添加标签和标题

来自分类Dev

在Seaborn酒吧添加标签

来自分类Dev

在Seaborn地块上绘图并添加图例

来自分类Dev

在TilePane上的imageview顶部添加标签

来自分类Dev

通过循环在表单上添加标签

来自分类Dev

在TilePane上的imageview顶部添加标签

来自分类Dev

在单选按钮上添加标签

来自分类Dev

在按键上,动态添加标签?

来自分类Dev

在每行的特定短语上添加标签

来自分类Dev

在视频 iOS 上添加标签

来自分类Dev

尝试在面板上添加标签

来自分类Dev

在 X 轴上添加标签

来自分类Dev

Matplotlib / Seaborn 图例在添加标签时更改样式

来自分类Dev

在PyQt5上的标签内添加标签

来自分类Dev

PyQt:添加标签

来自分类Dev

在力图D3 JS上添加标签

来自分类Dev

如何在bokeh中的点上添加标签?

来自分类Dev

无法使用Xamarin.forms在图像上添加标签?

来自分类Dev

在iOS的不同位置的UICollectionView单元上添加标签

来自分类Dev

在D3散点图圆上添加标签

来自分类Dev

使用matplotlib在图例上添加标签不起作用

来自分类Dev

无法在资源AWS :: ECS :: Service上添加标签

来自分类Dev

如何在子图的轴上添加标签

来自分类Dev

如何在networkx的图形中的节点上添加标签?

来自分类Dev

如何在github个人资料上添加标签?

来自分类Dev

如何在条形按钮项目上添加标签?

来自分类Dev

在D3散点图圆上添加标签

来自分类Dev

无法使用Xamarin.forms在图像上添加标签?

来自分类Dev

在 D3js Sunburst 上添加标签