会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132647个问题
Python 全系列/第十九阶段:数据分析-数据可视化/pyecharts 1楼

from matplotlib import pyplot as plt

import random


# 设置字体

plt.rcParams['font.family'] = "KaiTi"


# 设置显示特殊符号

plt.rcParams['axes.unicode_minus'] = False


# 生成数据

y1 = [round(random.uniform(10,15),1) for _ in range(7)] # 每天的最高温度

y2 = [round(random.uniform(-2,2),1) for _ in range(7)] # 每天的最低温度

x = range(7)

"""

控制精度的方法:

1.格式化输出:

    "{.2f}".format(x) 或者

    f"{%.2f}"

2.rount()函数:

    round(x,2)

3.decimal模块:

    from decimal import Decimal

    Decimal(x).quantize(Decimal('0.01'))

"""

# 绘制图像

fig,ax1 = plt.subplots()


# 设置共用x轴

ax2 = ax1.twinx()


# 绘制ax1

ax1.plot(x,y1,color="red",marker="o",linewidth=1,mfc="black",linestyle="--",label="当天最高温度",markersize=2.5)

# 绘制ax2

ax2.plot(x,y2,color="blue",marker="v",linewidth=1,alpha=0.5,mfc="white",linestyle="-.",label="当天最低温度",markersize=4)


# 设置坐标轴名称

ax1.set_xlabel("时间")

ax1.set_ylabel("温度\°C")

ax2.set_ylabel("温度\°C")

# ax1.set_label("当天最高温度")

# ax2.set_label("当天最低温度")


# 设置刻度

ax1.set_xticks(range(7),["星期一","星期二","星期三","星期四","星期五","星期六","星期日"])

ax1.set_yticks(range(10,16))

ax2.set_yticks(range(-2,3))


# 设置标题

fig.suptitle("星期一到星期日的最高和最低温度")


# 显示图例

ax1.legend(loc="best")

ax2.legend(loc="best")


在显示图例的时候,为什么只调用plt.legend的时候只会显示ax2的图例,不会显示ax1的图例,而且调用fig.legend()和单独分别使用ax1.legend()和ax2.legend()的时候,两个图例出现的位置不一样,使用fig.legend()时图例在表格外面,而ax1.legend()和ax2.legend()的时候图例在表格里面???


Python 全系列/第十九阶段:数据分析-数据可视化/matplotlib 3楼
Python 全系列/第十九阶段:数据分析-数据可视化/pyecharts 5楼
Python 全系列/第十九阶段:数据分析-数据可视化/pyecharts 7楼
Python 全系列/第十九阶段:数据分析-数据可视化/seaborn 9楼
Python 全系列/第十九阶段:数据分析-数据可视化/seaborn 10楼

# 设置到seaborn

sns.barplot(x=[1,2,3,4,5],y=[1,4,9,16,25],palette=sns.color_palette('husl',5),hue=[1,2,3,4,5],legend=False)


还有警告,显示如下:

e:\Programs\miniconda3\envs\seaborn_env\lib\site-packages\seaborn\_base.py:949: FutureWarning: When grouping with a length-1 list-like, you will need to pass a length-1 tuple to get_group in a future version of pandas. Pass `(name,)` instead of `name` to silence this warning.  data_subset = grouped_data.get_group(pd_key)e:\Programs\miniconda3\envs\seaborn_env\lib\site-packages\seaborn\_base.py:949: FutureWarning: When grouping with a length-1 list-like, you will need to pass a length-1 tuple to get_group in a future version of pandas. Pass `(name,)` instead of `name` to silence this warning.  data_subset = grouped_data.get_group(pd_key)e:\Programs\miniconda3\envs\seaborn_env\lib\site-packages\seaborn\_base.py:949: FutureWarning: When grouping with a length-1 list-like, you will need to pass a length-1 tuple to get_group in a future version of pandas. Pass `(name,)` instead of `name` to silence this warning.  data_subset = grouped_data.get_group(pd_key)e:\Programs\miniconda3\envs\seaborn_env\lib\site-packages\seaborn\_base.py:949: FutureWarning: When grouping with a length-1 list-like, you will need to pass a length-1 tuple to get_group in a future version of pandas. Pass `(name,)` instead of `name` to silence this warning.  data_subset = grouped_data.get_group(pd_key)e:\Programs\miniconda3\envs\seaborn_env\lib\site-packages\seaborn\_base.py:949: FutureWarning: When grouping with a length-1 list-like, you will need to pass a length-1 tuple to get_group in a future version of pandas. Pass `(name,)` instead of `name` to silence this warning.  data_subset = grouped_data.get_group(pd_key)

Python 全系列/第十九阶段:数据分析-数据可视化/seaborn 11楼
Python 全系列/第十九阶段:数据分析-数据可视化/seaborn 12楼
Python 全系列/第十九阶段:数据分析-数据可视化/matplotlib 13楼
Python 全系列/第十九阶段:数据分析-数据可视化/matplotlib 14楼
Python 全系列/第十九阶段:数据分析-数据可视化/seaborn 15楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637