本文目錄一覽:
python如何用像素規定tkinter模塊里label或button的大小
需要指定image或者bitmap屬性,然後再使用width, height來控制。
默認的button是text類型, width, heigth表示字符個數和行數,指定那些後,意義就變成像素。
例如:
import Tkinter
root = Tkinter.Tk()
b1 = Tkinter.Button(root, bitmap=”gray50″, width=10, height=10)
b1.pack()
root.mainloop()
擴展資料:
python參考函數
long([x[, base]]) 將一個字符轉換為long類型
pow(x, y[, z]) 返回x的y次冪
range(, stop[, step]) 產生一個序列,默認從0開始
round(x[, n]) 四捨五入
sum(iterable[, start]) 對集合求和
oct(x)將一個數字轉化為8進制
hex(x)將整數x轉換為16進制字符串
chr(i)返回整數i對應的ASCII字符
參考資料來源:百度百科-Python (計算機程序設計語言)
Python熱力圖繪製方法—新手教程
# Python熱力圖繪製方法
熱力圖的使用場景有
1.描述數據在空間的密集程度,常見有城市熱力圖,區域熱力圖
2.描述多個變量之間相關性高低程度
# step 1 準備數據集,讀取excel列表內容,usecols = index, 這裡是表裡的第一列不讀取。
index =range(1, 11)
dataset = np.array(pd.read_csv(r’C:\Users\Administrator\Desktop\heatmap.csv’, usecols=index))
# step 2 讀取excel行索引轉成列表,作為熱力圖的y軸標籤
a = (pd.read_csv(r’C:\Users\Administrator\Desktop\heatmap.csv’, usecols=[0]))
y_label =list(a.stack())
# step 3 讀取excel列索引轉成列表,作為熱力圖的x軸標籤
b = (pd.read_csv(r’C:\Users\Administrator\Desktop\heatmap.csv’))
column_index=(b.columns.tolist())
x_label = column_index[1:]
# 這一步是為了計算熱力圖的數據的最大值,可以進行標準化處理,也可以直接顯示數據,dataframe轉成list,從list裡面尋找最大值
dataset_max = (pd.read_csv(r’C:\Users\Administrator\Desktop\heatmap.csv’, usecols=index))
list1 = np.array(dataset_max.stack())
max_number =max(list1)
# step 4 開始繪製熱力圖
plt.figure(figsize=(14, 8))# 定義輸出圖像大小,annot參數決定是否在熱力圖上顯示數值,Vmax,Vmin表示最大最小值,cmap表示顏色
sns.heatmap(dataset, fmt=’.0f’, annot=True, vmin=0, vmax=max_number, cmap=’Reds’, yticklabels=y_label,
xticklabels=x_label)
# 繪製標籤
plt.xlabel(‘This is x label’, labelpad=15)
plt.ylabel(‘This is y label’, labelpad=20)
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軸怎麼加?這又是一個問題,留給愛思考愛學習的你。
有了自己的數據,建立自己的各個指數,然後再放到圖形界面中,同時針對異常情況再自動進行提醒,比如要抄底了,要賣出了,用程序做出自己的晴雨表。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/301064.html