【问题标题】:Delete individual legends from subplots in panda从熊猫的子图中删除单个图例
【发布时间】:2020-04-02 01:23:51
【问题描述】:

我想从 panda 的各个子图中删除图例。我创建了一个条形图和#subplots。我想保留每个子图的标题并删除图例,因为它们显示#same 措辞。我已经尝试了几种技术,甚至一些让我调用每个单独的#subplot,但我确信有一个简单的解决方案。下面的第四张结果图片是我需要帮助的一张。

到目前为止,这是我的代码:

import matplotlib.pyplot as plt
import pandas as pd
import scipy.stats as st
import numpy as np

mouse_metadata = "Mouse_metadata.csv"
study_results = "Study_results.csv"

mouse_metadata = pd.read_csv(mouse_metadata)
study_results = pd.read_csv(study_results)

study_data_combined = pd.merge(mouse_metadata,study_results, on= "Mouse ID")
pyma_sd = study_data_combined
pyma_sd.head()

pyma_sd_grouped = pyma_sd.groupby(["Drug Regimen"])  

pyma_sd_grouped_mean = pyma_sd_grouped["Tumor Volume (mm3)"].mean()

pyma_sd_grouped_median = pyma_sd_grouped["Tumor Volume (mm3)"].median()

pyma_sd_grouped_variance = pyma_sd_grouped["Tumor Volume (mm3)"].var()

pyma_sd_grouped_std = pyma_sd_grouped["Tumor Volume (mm3)"].std()

pyma_sd_grouped_sem = pyma_sd_grouped["Tumor Volume (mm3)"].sem()

pyma_sd_grouped_stats = pd.DataFrame({ "Mean":pyma_sd_grouped_mean,
                                     "Median": pyma_sd_grouped_median,
                                     "Variance": pyma_sd_grouped_variance, 
                                     "Standard Error of Mean ": pyma_sd_grouped_sem})
print("                             ","Stats of Tumor Volume")
print(pyma_sd_grouped_stats)

chart_pyma_sd_grouped_stats = pyma_sd_grouped_stats.plot(kind='bar', rot=50, figsize = (10, 6), 
width = .8)
plt.title("Stats on Drug Regimen")Output 2
plt.xlabel("Drug Regimen")
plt.ylabel("Stats per Drug Regimen")
plt.tight_layout()
plt.show()

axes = pyma_sd_grouped_stats.plot.bar(rot=50, subplots=True, figsize = (10, 6), width = .75,)
axes[1].legend(loc=1)
plt.subplots_adjust(hspace=0.5)
plt.show()

**

【问题讨论】:

  • 我修复了一些格式并将您的图片内联。

标签: legend subplot


【解决方案1】:

只需在致电DataFrame.plot.bar 时提供legend=False

import matplotlib.pyplot as plt
import pandas as pd

speed = [0.1, 17.5, 40, 48, 52, 69, 88]
lifespan = [2, 8, 70, 1.5, 25, 12, 28]
index = ['snail', 'pig', 'elephant', 'rabbit', 'giraffe', 'coyote', 'horse']
df = pd.DataFrame({'speed': speed, 'lifespan': lifespan}, index=index)
axes = df.plot.bar(rot=0, subplots=True, legend=False)
plt.show()

将上面的图片与doc中生成的图片进行比较。

【讨论】:

  • 感谢您的快速回复,效果很好……非常感谢!
  • @Cmac 不用担心!请随时accept and upvote my answer
  • 谢谢,效果很好,这是最终结果:#使用熊猫轴= pyma_sd_grouped_stats.plot.bar(rot=50, subplots=生成单独的图表,显示每个治疗方案的数据点数True, figsize = (10, 6), width = .75, legend=False) plt.subplots_adjust(hspace=0.5) plt.suptitle("Individual Stats on each Drug Regimen") plt.show()
猜你喜欢
  • 2019-08-03
  • 1970-01-01
  • 2014-08-21
  • 2021-12-28
  • 2019-11-13
  • 2018-10-25
  • 2018-10-09
  • 2020-11-07
  • 2015-02-11
相关资源
最近更新 更多