我有数据框:
id meters availability1 availability2 availability3
0 0 70 80 90
1 50 75 75 80
2 100 100 90 100
3 150 87 85 80
4 200 60 90 100
我想创建一个箱形图,以显示每个特定仪表的可用状态。 例如,0米的可用性为90到70。 所以我想为每一行而不是每一列创建箱形图。我找不到如何应用此方法而不更改数据框的结构。
我使用的代码如下:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
file = 'D:\\test_box_plot.csv'
df = pd.read_csv(file, sep = ";", usecols = ['availability1','availability2','availability3'])
sns.boxplot(x="variable", y="value", data=pd.melt(df))
plt.show()
我将不胜感激
答案 0 :(得分:1)
我认为这是一个可能的解决方案,但是我不确定我是否了解您的需求:
from owslib.wms import WebMapService
url = 'https://rasterdata.hunzeenaas.nl/erdas-iws/ogc/wms/Rasterdata?service=WMS&request=getmap'
wms = WebMapService(url)
img = wms.getmap( layers='Luchtfoto_2015_Ortho_25cm_RGB_voorjaarsvlucht'],
styles=['default'],
srs='EPSG:3857',
bbox=(72865, 7022456, 730231, 7023717),
size=(1000,1000),
format='image/jpeg',
transparant=True )
out = open('output.jpg', 'wb')
out.write(img.read())
out.close()
此处的技巧是使用数据帧的转置矩阵。 我建议您打印转置后的数据框,以了解如何引用每一列。
使用您发布的数据,我的转置数据框为:
boxMeters = sns.boxplot(x=0,y=1,data=df.transpose(), palette="Set3")
“米”位于列中的下面,列为0,而availability1是列1。 您告诉我它是否适合您。