python画图笔记(python画图作业)

发布时间:2022-11-10

本文目录一览:

  1. python画图:,横坐标是点数(1到1000),纵坐标是大小不同的数值,即如何用颜色的深浅代表数值的大小?
  2. python_海龟绘图_坐标系问题_画笔各种方法-python工作笔记013
  3. python 绘制和密度图笔记
  4. 用Python画图
  5. 自学python需要做什么笔记

python画图:,横坐标是点数(1到1000),纵坐标是大小不同的数值,即如何用颜色的深浅代表数值的大小?

  1. 首先在python软件中,创建一个响应鼠标的自定义函数,当鼠标在画布上面点击一下,就画一个圆。
  2. 创建一个画布,背景是白色:img=np.ones((365,500,3),np.uint8)*255
  3. 然后创建一个窗口:cv2.namedWindow('image')。当鼠标在这个窗口里面的时候,上面的自定义函数会响应鼠标。
  4. 开始一个while循环,每次在image窗口里面点击鼠标,就会画一个圆。
  5. 执行程序之后,在画布上随机的点击鼠标,就可以得到彩色的圆。

python_海龟绘图_坐标系问题_画笔各种方法-python工作笔记013

然后我们继续看,这次我们用海龟绘图程序包去画画,看看海龟绘图都有哪些方法:

  • import turtle:导入海龟绘图模块。
  • turtle.showturtle():显示一个箭头。
  • turtle.write("hello world"):显示对应文字。
  • turtle.forward(300):向前走300像素。
  • turtle.color("red"):把画笔颜色换成红色。
  • turtle.left(90):把箭头逆时针转90度。
  • turtle.forward(300):向前移动300个像素。
  • turtle.goto(0,50):走到0,50这个坐标点。
  • 再看一下坐标系,原点0,0开始操作。
  • turtle.goto(0,0):回到原点。
  • turtle.penup():抬起画笔。
  • turtle.goto(0,300)turtle.goto(0,0),然后再去 turtle.pendown():放下画笔。
  • turtle.goto(0,50)turtle.goto(50,50):走到对应的坐标。
  • turtle.circle(100):以100为半径,逆时针画一个圆。

python 绘制和密度图笔记

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
pd.set_option('display.max_columns', 10000)
pd.set_option('display.max_rows', 10000000000)
pd.set_option('display.width', 100000)
income = pd.read_excel(r'D:\bigData\0629demo\dataSource\income.xlsx')
fill_data = income.fillna(value={'workclass': income.workclass.mode()[0], 'occupation': income.occupation.mode()[0],
                                 'native-country': income['native-country'].mode()[0]}, inplace=True)
print(income.describe())
print(income.describe(include=['object']))
# 设置绘图风格
plt.style.use('ggplot')
# 设置多图形组合
fig, axes = plt.subplots(2, 1)
# 绘制不同收入水平下的年龄核密度图
income['age'][income.income == ' =50K'].plot(kind='kde', ax=axes[0], label='=50K', legend=True, linestyle='-')
income['age'][income.income == ' 50K'].plot(kind='kde', ax=axes[0], label='50K', legend=True, linestyle='--')
# 绘制不同收入水平下的周工作小时数核密度图
income['hours-per-week'][income.income == ' =50K'].plot(kind='kde', label='= 50K', ax=axes[1], legend=True, linestyle='-')
income['hours-per-week'][income.income == ' 50K'].plot(kind='kde', label=' 50K', ax=axes[1], legend=True, linestyle='--')
plt.show()
# 构造不同收入水平下各种族人数的数据
race = pd.DataFrame(income.groupby(by=['race', 'income']).agg(np.size).loc[:, 'age'])
race = race.reset_index()
race.rename(columns={'age': 'counts'}, inplace=True)
race.sort_values(by=['race', 'counts'], ascending=False, inplace=True)
# 构造不同收入水平下各家庭关系人数的数据
relationship = pd.DataFrame(income.groupby(by=['relationship', 'income']).agg(np.size).loc[:, 'age'])
relationship = relationship.reset_index()
relationship.rename(columns={'age': 'counts'}, inplace=True)
relationship.sort_values(by=['relationship', 'counts'], ascending=False, inplace=True)
plt.figure(figsize=(15, 10))
sns.barplot(x='race', y='counts', hue='income', data=race)
plt.show()
plt.figure(figsize=(15, 10))
sns.barplot(x='relationship', y='counts', hue='income', data=relationship)
plt.show()

用Python画图

今天开始琢磨用Python画图,没使用之前是一脸懵的,我使用的开发环境是Pycharm,这个输出的是一行行命令,这个图画在哪里呢? 搜索之后发现,它会弹出一个对话框,然后就开始画了,比如下图: 第一个常用的库是Turtle,它是Python语言中一个很流行的绘制图像的函数库,这个词的意思就是乌龟,你可以想象下一个小乌龟在一个x和y轴的平面坐标系里,从原点开始根据指令控制,爬行出来就是绘制的图形了。 它最常用的指令就是旋转和移动,比如画个圆,就是绕着圆心移动;再比如上图这个怎么画呢,其实主要就两个命令:

turtle.forward(200)
turtle.left(170)

第一个命令是移动200个单位并画出来轨迹;第二个命令是画笔顺时针转170度,注意此时并没有移动,只是转角度。 然后呢?循环重复就画出来这个图了,好玩吧。 Turtle虽好玩,但是我想要的是我给定数据,然后让它画图,这里就找到另一个常用的画图的库了。 Matplotlib是Python最著名的绘图库,它提供了一整套和MATLAB相似的命令API,十分适合交互式地进行制图。其中,matplotlib的pyplot模块一般是最常用的,可以方便用户快速绘制二维图表。 使用起来也挺简单:

  • import matplotlib.pyplot as plt:导入画图模块。
  • 给定x和y,用这个命令 plt.plot(x, y) 就能画图了,接着用 plt.show() 就可以展示图形。 接着就是各种完善,比如加标题,设定x轴和y轴标签,范围,颜色,网格等等。 假设现在有个数据csv文件,一列是日期,另一列是比特币的价格,那用这个命令画下:
plt.plot(df['time'], df['ini'])
plt.show()

然后呢,我在上篇文章中介绍过求Ahr999指数,那可不可以也放到这张图中呢?不就是加一条命令嘛:

plt.plot(df['time'], df['Ahr999'])

但是,Ahr999指数怎么就一条线不动啊,原来两个Y轴不一致,显示出来太怪了,需要用多Y轴,问题来了。 继续谷歌一下,把第二个Y轴放右边就行了,不过得使用多图,重新绘制:

fig = plt.figure() # 多图
ax1 = fig.add_subplot(111)
ax1.plot(df['time'], df['ini'], label="BTC price")
ax1.set_ylabel('BTC price')
ax2 = ax1.twinx() # 在右边增加一个Y轴
ax2.plot(df['time'], df['Ahr999'], 'r', label="ahr999")
ax2.set_ylim([0, 50])
ax2.set_ylabel('ahr999')
plt.grid(color="k", linestyle=":")
fig.legend(loc="center")
plt.show()

跑起来看看效果,虽然丑了点,但终于跑通了。 这样就可以把所有指数都绘制到一张图中,等等,三个甚至多个Y轴怎么加?这又是一个问题,留给爱思考爱学习的你。 有了自己的数据,建立自己的各个指数,然后再放到图形界面中,同时针对异常情况再自动进行提醒,比如要抄底了,要卖出了,用程序做出自己的晴雨表。

自学python需要做什么笔记

Python的书很多,但是好书不多,经过我这么多年的Python学习,我总结出了一个Python学习的读书路线:

  • Python简明教程:让你大体上了解一下Python,最好是能够独立完成最后一个练习项目之后再看别的书。
  • Python学习手册、Python基础教程、Python核心编程:这三本书都是讲基础的,但都有不足又相互补充。我建议你随便挑一本开始看,当看到某个地方有些不明白的时候,去看看另外两本书里对应的章节,有的时候你会恍然大悟的。