python畫圖筆記(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為半徑,逆時針畫一個圓

可以看到,半徑是100對吧

python 繪製和密度圖筆記

import pandasas pd

import numpyas np

import seabornas sns

import matplotlib.pyplotas 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.apply(lambda x: np.sum(x.isnull())))

# print(income)

print(income.describe())

print(income.describe(include=[‘object’]))

# 設置繪圖風格

plt.style.use(‘ggplot’)

# 設置多圖形組合

fig, axes = plt.subplots(2, 1)

# 繪製不同收入水平下的年齡核密度圖

# kind=’kde’, label=’=50K’, ax=axes[0], legend=True, linestyle=’-‘

# kind=’kde’, label=’50K’, ax=axes[0], legend=True, linestyle=’–‘

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=’–‘)

# 繪製不同收入水平下的周工作小時數核密度圖

# kind=’kde’, label=’= 50K’, ax=axes[1], legend=True,  linestyle=’-‘

# 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=’-‘)

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)

print(race)

# 排序

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文件,一列是日期,另一列是比特幣的價格,那用這個命令畫下:

這兩列數據讀到pandas中,日期為df[‘time’]列,比特幣價格為df[‘ini’],那我只要使用如下命令

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″)  # 繪製第二個圖Ahr999指數,紅色

ax2.set_ylim([0, 50])# 設定第二個Y軸範圍

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核心編程, 這三本書都是講基礎的, 但是都有不足又相互補充 , 我建議你隨便挑一本開始看, 當看到某個地方有些不明白的時候, 去看看另外兩本書里對應的章節, 有的時候你會恍然大悟的;

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/237790.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:08
下一篇 2024-12-12 12:08

相關推薦

  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29

發表回復

登錄後才能評論