導航:首頁 > 編程語言 > python怎麼居中畫圖形

python怎麼居中畫圖形

發布時間:2023-05-13 08:01:31

python如何讓有20個字元倒三角形居中

居中的楊輝三角
python實現居中的楊輝三角

曬冷-
原創
關注
7點贊·6152人閱讀
先來伍爛看一下普通的楊輝三角,代碼和輸出是長成這樣
def YangHui(n):
print([1])
line = [1,1]

for i in range(2,n):
r = []
for j in range(0,len(line) - 1):
r.append(line[j] + line[j + 1])
line = [1] + r + [1]
print(line)

if __name__ == '__main__':
YangHui(5)
登錄後復制

輸出:

那麼如何輸出形如遲悄

的楊輝三角呢?很自然的就是想到把上面的函數輸出居中。
那麼居中我們除了自己寫循環加空格,python還有沒有函數能完成呢?
答案是有的,碼橘渣不過只能將字元串的輸出居中
Python center() 返回一個原字元串居中,並使用空格填充至長度 width 的新字元串。默認填充字元為空格。

center()方法語法:
str.center(width[, fillchar])
width – 字元串的總寬度。
fillchar – 填充字元。
演示代碼:

mess = "Hello Word"
print("|",mess.center(30,'*'),"|")
print("|",mess.center(50,'*'),"|")
print("|",mess.center(50),"|")
登錄後復制

詳細參考:
center()方法
Python 輸出字元串左對齊、右對齊、居中對齊
注意到原始的楊輝三角輸出的是列表,為了能使用center()函數將輸出居中,我們還需做一個工作:將數字列表轉換成字元串
定義這樣一個函數

Ⅱ python中怎麼樣才能用print居中輸出東西需要print前加幾個空格

在 Python 中,可以使用 str.center() 方法來實現字元串居中對齊。具體而言,該方法可以將一個字元串在指定寬度內居中顯示,並在左右兩側添加空格或其他指定字元以填充空白部分。示例如下:
text = "hello"
width = 10
print(text.center(width))
在上面的示例中,text 是要居中顯示的字元串,width 是指定的寬度。調用 str.center() 方法後,輸出結果為:
hello
可以看到,在輸出結果中,hello 字元凱困串被居中顯示,並在左灶衡右兩側添加了兩個空格,以使其佔用的寬度為 10 個字元。
如果要在居中輸出的字元串前面添加一些空格,可以將 str.center() 方法的返回值前面添加相應數量的空格。例如,要在居中輸出的字元串前面添加 3 個空格,可以使用盯辯念以下代碼:
text = "hello"
width = 10
padding = 3
output = " " * padding + text.center(width)
print(output)
在這個示例中,我們先定義了一個 padding 變數,表示要添加的空格數量。然後使用 " " * padding 表示一個由若干個空格字元組成的字元串,並將其與居中顯示的字元串合並,最終輸出結果為:
hello

Ⅲ python繪制柱形圖調整的問題

1. 間明兄距, 左邊留白

#從1開始,至N為止,間距為2
ind=np.arange(1,N,2)

2. 居中

#ha設置水平局御對齊方式,可以是'left'桐槐岩,'right','center'
ax.set_xticklabels(tuple(word),ha='center')

Ⅳ 如何用python繪制簡單條形圖

如何用python繪制簡單條形圖呢?這里離不開matplotlib的使用。
條形圖是數據可視化圖形中很基礎也很常用的一種圖,簡單解釋下:條形圖也叫長條圖(英語:bar chart),亦稱條圖(英語:bar graph)、條狀圖、棒形圖、柱狀圖、條形圖表,是一種以長方形的長度為變數的統計圖表。長條圖用來比較兩個或以上的價值(不同時間或者不同條件),只有一個變數,通常利用於較小的數據集分析。長條圖亦可橫向排列,或用多維方式表達。
那麼一個普通的條形圖是長什麼樣子的呢?
當!當!當!就是下圖的這個樣子:
圖先亮出來啦,接下來研究這個圖是怎麼畫的吧,先看一下原數據長什麼樣子:
實際畫圖的流程和畫折線圖很相近,只是用到的畫圖函數不一樣,繪制條形圖的函數plt.bar():
由於這只是最簡單的一個條形圖,實際上條形圖的函數plt.bar()還有不少可以探索的參數設置,和對折線圖函數plt.plot()的探索差不多,有興趣的孩子可以自己去進行探索哦。
按照條形長短進行排序展示的條形圖
當然也可以有其他的設置,比如說上圖中的線條高低參差不齊,這是因為x軸的數據是按照學校名稱進行排序的,那麼可不可以按照分數的高低進行排序呢?也就是讓所有的長方形按照從高到矮或者從矮到高的順序進行排列?
當然可以啦!這里需要強調的是,條的高低排列等信息都是來源於原數據的,要想讓條形的順序發生改變,需要對畫圖的來源數據進行更改呢!
把原數據逆序排序後截取前十名數據賦值給data_yuwen,作為新的數據源傳入畫圖函數plt.bar(),畫出來的圖自然就不一樣了。
先看一眼數據長什麼樣子:
根據這個數據源繪制出的圖形如下,由於用來畫圖的數據進行了降序排序操作,所以生成條形圖的條也會進行降序排序展示:
很多時候,我們常見的條形圖還有另一種展現形式,那就是橫向的條形圖,比較火的那種動態條形圖絕大多數也都是橫向的條形圖,那麼橫向的條形圖如何繪制呢?
理解plt.bar()主要參數
其實也不難,只要清楚plt.bar()函數中主要參數的作用就可以了!條形圖函數中有五個主要參數,分別是x,height,width,bottom,orientation。其中x控制的是每個條在x軸上位置,height控制的是每個條的長度,width控制的是每個條的寬度,bottom控制的是每個條在y軸方向的起始位置,orientation控制的是條形的方向,是縱向還是橫向,默認是縱向的。
通過一個小例子理解下這幾個參數的作用:
上邊的幾行代碼輸出的圖形如下:
對比著代碼和實際輸出的條形圖,各個主要參數的作用是不是一目瞭然啦?
橫向條形圖
理解了這幾個參數作用後,縱向的條形圖轉換成橫向的條形圖就沒什麼難度了!
需要設置所有條形在x軸的位置都為0,也就全部從最左側開始畫條形;由於是橫向條形圖,所以實際上條的寬度顯示的是數據大小,將width參數設置成原數據中的語文成績;bottom控制每個條在y軸方向的起始位置,設置bottom=range(10)設置每個條形在y軸的起始位置各不相同避免有條形重疊;height控制的是每個條在y軸方向上的長度,條形圖橫向設置後,在y軸上的長度失去了衡量數據的意義,所以直接設置一個常數即可;最後設置條形的方向為橫向,即orientation=「horizontal」。
溫馨提示:數據和標簽一定要匹配,即plt.bar()重點的數據要和plt.yticks()中提取出來的標簽一一對應,一旦不匹配,整個圖展現的結果就是一個錯誤的結果!
上述代碼生成的條形圖如下:
感覺上邊這種生成橫向條形圖的方式有點點繞,和人們的習慣認知有點不大一樣,難道畫一個橫向條形圖就非得轉變自己的習慣認知這么反人類嗎?
當然不是的,實際上有更簡單的方法繪制一個橫向條形圖,之所以沒有一開始就直接用這種簡單的方法,也是為了讓大家體會下條形圖參數的靈活設置而已,而且如果比較繞的方法都能理解了,簡單的方法理解和運用起來就更沒有難度了啊!
不賣關子了,我們來認識下和plt.bar()函數類似的plt.barh()函數。
plt.barh()函數是專門繪制水平條形圖的函數,主要的參數有:
y 控制y軸顯示的標簽來源width 控制橫向條形的長度,即用來進行對比的數據源height 條形的寬度需要設置的參數主要就是這三個,比用plt.bar()函數繪制水平條形圖簡單了很多,具體代碼如下:
效果圖:
和用plt.bar()函數繪制的橫向條形圖一毛一樣對不對?以後有需求繪制橫向條形圖,盡量用plt.barh()函數吧,畢竟它是專門繪制這種類型圖的,簡單好用。
然而實際工作中對於條形圖的需求不只是這些,比如例子中只是對各個學校語文成績的展示,有時候需要各個學科的成績同時展現在一幅條形圖中,有時候也需要繪制堆積條形圖對各學科的成績以及總成績進行展示,這些圖又該如何繪制呢?其實只要理解了各個參數的含義,繪制這些圖也不在話下,至於具體怎麼畫,且看下回分解啊!

Ⅳ python PIL ImageDraw text 文本居中

字元寬度本來就很難。這個是難題。因為字元寬度不一致。 通常我們的做法是這樣子。

你先在後面的畫板上畫一個字元串,然後測量它的寬度。再根據測量得到的寬度正式在你想繪制的畫板上繪。

這個測量也是用它的API實現的。不是自己用尺子量。

另外一個辦法是手機上用的。 每個字體的每個字元的長寬都有精準的數據。做一個這樣的資料庫。然後繪制前計算一下,就可以居中了。

Ⅵ python不用庫def函數畫各種圖形

第一步,打開python語言命銷譽巧令窗口,聲明一個函數print_color,調用range遍歷,列印星號,如下圖所示:
第二步,接著調用第一步中的虛中函數,然後查看列印結果,可以發現生成一個三角形,如下圖虧鍵所示:
第三步,再次定義一個函數four_tu,利用循環生成星號,注意查看函數生成的圖形。
第四步,調用上述步驟中定義的函數,然後查看列印圖形組合的形狀。
第五步,如果在定義的函數內,多次調用print()方法列印星號,會是什麼樣的結果呢。
第六步,在後續步驟中,調用函數列印結果,可以發現生成一個不規則的圖形。

Ⅶ python matplotlib 圖像可視化

Python畫圖之總結待整理

https://morvanzhou.github.io/tutorials/data-manipulation/plt/
http://blog.sciencenet.cn/blog-1408284-850983.html
http://www.cnblogs.com/DHUtoBUAA/p/6619099.html
http://blog.csdn.net/wuguangbin1230/article/details/72858612
http://blog.sciencenet.cn/blog-251664-800766.html
http://blog.csdn.net/wuguangbin1230/article/details/72858612
http://www.jianshu.com/p/0a81b57bbb8c
https://pythonprogramming.net/

http://blog.csdn.net/haoji007/article/details/52063168

Python Data Visualizations

Seaborn 庫: https://seaborn.pydata.org/

Python Seaborn 教程: http://elitedatascience.com/python-seaborn-tutorial

matplotlib: plotting with Python
matplotlib: plotting with Python-github

python-data-visualization-course
Interactive Web Plotting for Python
Interactive Web Plotting for Python-github

https://morvanzhou.github.io/tutorials/data-manipulation/plt/3-3-contours/
https://github.com/MorvanZhou/tutorials/tree/master/matplotlibTUT

https://github.com/jiandanjinxin/tf-dev-summit-tensorboard-tutorial
https://github.com/jiandanjinxin/tensorflow-mnist-tutorial

CSDN-markdown編輯器語法——字體、字型大小與顏色

%matplotlib inline
%matplotlib notebook

Need to use either

or

Only one in each notebook! using inline will just sent png images to browser, using notebook will provide interactivity and allow updating old figures. With notebook you need to make sure to create a new figure before plotting, otherwise the last one will be updated!

還有簡便的 plt.close('all') 關閉所有圖,不用管 fig 號碼

Some plots from these tutorials:

調整名字和間隔

設置不同名字和位置

調整坐標軸

參數loc='upper right'
表示圖例將添加在圖中的右上角.

調整位置和名稱

最後我們得到帶有圖例信息的圖片.

移動坐標

然後我們挪動坐標軸的位置.

然後標注出點(x0, y0)的位置信息. 用plt.plot([x0, x0,], [0, y0,], 'k--', linewidth=2.5)
畫出一條垂直於x軸的虛線.

添加註釋 annotate
接下來我們就對(x0, y0)這個點進行標注.

其中參數xycoords='data'
是說基於數據的值來選位置,xytext=(+30, -30)
和textcoords='offset points'
對於標注位置的描述 和 xy 偏差值,arrowprops
是對圖中箭頭類型的一些設置.

添加註釋 text

其中-3.7, 3,
是選取text的位置, 空格需要用到轉字元
,fontdict
設置文本字體.

生成圖形
當圖片中的內容較多,相互遮蓋時,我們可以通過設置相關內容的透明度來使圖片更易於觀察,也即是通過本節中的bbox
參數設置來調節圖像信息.
首先參考之前的例子, 我們先繪制圖像基本信息:

調整坐標

然後對被遮擋的圖像調節相關透明度,本例中設置 x軸 和 y軸 的刻度數字進行透明度設置

其中label.set_fontsize(12)重新調節字體大小,bbox設置目的內容的透明度相關參,facecolor調節 box 前景色,edgecolor 設置邊框, 本處設置邊框為無,alpha設置透明度. 最終結果如下:

散點圖
首先,先引入matplotlib.pyplot簡寫作plt,再引入模塊numpy用來產生一些隨機數據。生成1024個呈標准正態分布的二維數據組 (平均數是0,方差為1) 作為一個數據集,並圖像化這個數據集。每一個點的顏色值用T來表示:

數據集生成完畢,現在來用scatterplot這個點集,滑鼠點上去,可以看到這個函數的各個parameter的描述,如下圖:
輸入X和Y作為location,size=75,顏色為T,color map用默認值,透明度alpha 為 50%。 x軸顯示範圍定位(-1.5,1.5),並用xtick()函數來隱藏x坐標軸,y軸同理:

今天的柱狀圖分成上下兩部分,每一個柱體上都有相應的數值標注,並且取消坐標軸的顯示。
生成基本圖形
向上向下分別生成12個數據,X為 0 到 11 的整數 ,Y是相應的均勻分布的隨機數據。使用的函數是plt.bar
,參數為X和Y:

這樣我們就生成了下圖所示的柱狀圖基本框架:

現在的結果呈現:

接下來我們用函數plt.text分別在柱體上方(下方)加上數值,用%.2f保留兩位小數,橫向居中對齊ha='center',縱向底部(頂部)對齊va='bottom':

最終的結果就像開始一樣:

畫等高線
數據集即三維點 (x,y) 和對應的高度值,共有256個點。高度值使用一個 height function f(x,y) 生成。 x, y 分別是在區間 [-3,3] 中均勻分布的256個值,並用meshgrid在二維平面中將每一個x和每一個y分別對應起來,編織成柵格:

接下來進行顏色填充。使用函數plt.contourf把顏色加進去,fill, 位置參數分別為:X, Y, f(X,Y)。透明度0.75,並將 f(X,Y) 的值對應到color map的暖色組中尋找對應顏色。8代表等高線的個數。

接下來進行等高線繪制。使用plt.contour函數劃線。位置參數為:X, Y, f(X,Y)。顏色選黑色,線條寬度選0.5。現在的結果如下圖所示,只有顏色和線條,還沒有數值Label:

添加高度數字
其中,8代表等高線的密集程度,這里被分為10個部分。如果是0,則圖像被一分為二。
最後加入Label,inline控制是否將Label畫在線裡面,字體大小為10。並將坐標軸隱藏:

隨機矩陣畫圖

這一節我們講解怎樣在matplotlib中列印出圖像。這里我們列印出的是純粹的數字,而非自然圖像。 我們今天用這樣 3x3 的 2D-array 來表示點的顏色,每一個點就是一個pixel。

colorbar
下面我們添加一個colorbar ,其中我們添加一個shrink參數,使colorbar的長度變短為原來的92%:

3D
首先在進行 3D Plot 時除了導入 matplotlib ,還要額外添加一個模塊,即 Axes 3D 3D 坐標軸顯示:

之後要先定義一個圖像窗口,在窗口上添加3D坐標軸,顯示成下圖:

接下來給進 X 和 Y 值,並將 X 和 Y 編織成柵格。每一個(X, Y)點對應的高度值我們用下面這個函數來計算。

其中,rstride 和 cstride 分別代表 row 和 column 的跨度。
下面兩個圖分別是跨度為1 和 5 的效果:

投影

下面添加 XY 平面的等高線:

如果 zdir 選擇了x,那麼效果將會是對於 XZ 平面的投影,效果如下

Ⅷ python繪圖篇

1,xlable,ylable設置x,y軸的標題文字。

2,title設置標題。

3,xlim,ylim設置x,y軸顯示範圍。

plt.show()顯示繪圖窗口,通常情況下,show()會阻礙程序運行,帶-wthread等參數的環境下,窗口不會關閉。

plt.saveFig()保存圖像。

面向對象繪圖

1,當前圖表和子圖可以用gcf(),gca()獲得。

subplot()繪制包含多個圖表的子圖。

configure subplots,可調節子圖與圖表邊框距離。

可以通過修改配置文件更改對象屬性。

圖標顯示中文

1,在程序中直接指定字體。

2, 在程序開始修改配置字典reParams.

3,修改配置文件。

Artist對象

1,圖標的繪制領域。

2,如何在FigureCanvas對象上繪圖。

3,如何使用Renderer在FigureCanvas對象上繪圖。

FigureCanvas和Render處理底層圖像操作,Artist處理高層結構。

分為簡單對象和容器對象,簡單的Aritist是標準的繪圖元件,例如Line 2D,Rectangle,Text,AxesImage等,而容器類型包含許多簡單的的 Aritist對象,使他們構成一個整體,例如Axis,Axes,Figure等。

直接創建Artist對象進項繪圖操作步奏:

1,創建Figure對象(通過figure()函數,會進行許多初始化操作,不建議直接創建。)

2,為Figure對象創建一個或多個Axes對象。

3,調用Axes對象的方法創建各類簡單的Artist對象。

Figure容器

如何找到指定的Artist對象。

1,可調用add_subplot()和add_axes()方法向圖表添加子圖。

2,可使用for循環添加柵格。

3,可通過transform修改坐標原點。

Axes容器

1,patch修改背景。

2,包含坐標軸,坐標網格,刻度標簽,坐標軸標題等內容。

3,get_ticklabels(),,get-ticklines獲得刻度標簽和刻度線。

1,可對曲線進行插值。

2,fill_between()繪制交點。

3,坐標變換。

4,繪制陰影。

5,添加註釋。

1,繪制直方圖的函數是

2,箱線圖(Boxplot)也稱箱須圖(Box-whisker Plot),是利用數據中的五個統計量:最小值、第一四分位

數、中位數、第三四分位數與最大值來描述數據的一種方法,它可以粗略地看出數據是否具有對稱性以及分

布的分散程度等信息,特別可以用於對幾個樣本的比較。

3,餅圖就是把一個圓盤按所需表達變數的觀察數劃分為若干份,每一份的角度(即面積)等價於每個觀察

值的大小。

4,散點圖

5,QQ圖

低層繪圖函數

類似於barplot(),dotchart()和plot()這樣的函數採用低層的繪圖函數來畫線和點,來表達它們在頁面上放置的位置以及其他各種特徵。

在這一節中,我們會描述一些低層的繪圖函數,用戶也可以調用這些函數用於繪圖。首先我們先講一下R怎麼描述一個頁面;然後我們講怎麼在頁面上添加點,線和文字;最後講一下怎麼修改一些基本的圖形。

繪圖區域與邊界

R在繪圖時,將顯示區域劃分為幾個部分。繪制區域顯示了根據數據描繪出來的圖像,在此區域內R根據數據選擇一個坐標系,通過顯示出來的坐標軸可以看到R使用的坐標系。在繪制區域之外是邊沿區,從底部開始按順時針方向分別用數字1到4表示。文字和標簽通常顯示在邊沿區域內,按照從內到外的行數先後顯示。

添加對象

在繪制的圖像上還可以繼續添加若干對象,下面是幾個有用的函數,以及對其功能的說明。

•points(x, y, ...),添加點

•lines(x, y, ...),添加線段

•text(x, y, labels, ...),添加文字

•abline(a, b, ...),添加直線y=a+bx

•abline(h=y, ...),添加水平線

•abline(v=x, ...),添加垂直線

•polygon(x, y, ...),添加一個閉合的多邊形

•segments(x0, y0, x1, y1, ...),畫線段

•arrows(x0, y0, x1, y1, ...),畫箭頭

•symbols(x, y, ...),添加各種符號

•legend(x, y, legend, ...),添加圖列說明

Ⅸ Python繪圖之(1)Turtle庫詳解

Turtle庫是Python語言中一個很流行的繪制圖像的函數庫,想像一個小烏龜,在一個橫軸為x、縱軸為y的坐標系原點,(0,0)位置開始,它根據一組函數指令的控制,在這個平面坐標系中移動,從而在它爬行的路徑上繪制了圖形。

畫布就是turtle為我們展開用於繪圖區域,我們可以設置它的大小和初始位置。

設置畫布大小

turtle.screensize(canvwidth=None, canvheight=None, bg=None),參數分別為畫布的寬(單位像素), 高, 背景顏色。

如:turtle.screensize(800,600, "green")

turtle.screensize() #返回默認大小(400, 300)

turtle.setup(width=0.5, height=0.75, startx=None, starty=None),參數:width, height: 輸入寬和高為整數時, 表示像素; 為小數時, 表示占據電腦屏幕的比例,(startx, starty): 這一坐標表示矩形窗口左上角頂點的位置, 如果為空,則窗口位於屏幕中心。

如:turtle.setup(width=0.6,height=0.6)

turtle.setup(width=800,height=800, startx=100, starty=100)

2.1 畫筆的狀態

在畫布上,默認有一個坐標原點為畫布中心的坐標軸,坐標原點上有一隻面朝x軸正方向小烏龜。這里我們描述小烏龜時使用了兩個詞語:坐標原點(位置),面朝x軸正方向(方向), turtle繪圖中,就是使用位置方向描述小烏龜(畫筆)的狀態。

2.2 畫筆的屬性

畫筆(畫筆的屬性,顏色、畫線的寬度等)

1) turtle.pensize():設置畫筆的寬度;

2) turtle.pencolor():沒有參數傳入,返回當前畫筆顏色,傳入參數設置畫筆顏色,可以是字元串如"green", "red",也可以是RGB 3元組。

3) turtle.speed(speed):設置畫筆移動速度,畫筆繪制的速度范圍[0,10]整數,數字越大越快。

2.3 繪圖命令

操縱海龜繪圖有著許多的命令,這些命令可以劃分為3種:一種為運動命令,一種為畫筆控制命令,還有一種是全局控制命令。

(1) 畫筆運動命令


(2) 畫筆控制命令


(3) 全局控制命令


(4) 其他命令


3. 命令詳解

3.1 turtle.circle(radius, extent=None, steps=None)

描述:以給定半徑畫圓

參數:

radius(半徑):半徑為正(負),表示圓心在畫筆的左邊(右邊)畫圓;

extent(弧度) (optional);

steps (optional) (做半徑為radius的圓的內切正多邊形,多邊形邊數為steps)。

舉例:

circle(50) # 整圓;

circle(50,steps=3) # 三角形;

circle(120, 180) # 半圓


實例:

1、太陽花

2、五角星

3、時鍾程序

Ⅹ python中怎麼把五角星畫在中間

fromturtleimport*
fillcolor("red")
begin_fill()
whileTrue:
forward(200)
right(144)
ifabs(pos())<1:
break
end_fill()

運行這段代碼,會繪制出一個紅色五角星圖形。

碼字不易,望採納。

閱讀全文

與python怎麼居中畫圖形相關的資料

熱點內容
鴻蒙加密等級 瀏覽:804
cocos2dluapdf 瀏覽:491
假的加密鎖靠譜嗎 瀏覽:176
經營聖手伺服器怎麼調 瀏覽:749
arduino手機編程 瀏覽:481
西醫pdf下載 瀏覽:29
後浪電影學院pdf 瀏覽:813
程序員怎麼做到不被人嫉妒 瀏覽:669
cmd新建文件夾md命令 瀏覽:570
php數組中的數值排序 瀏覽:832
安卓手機怎麼避免小孩內購 瀏覽:171
聯想伺服器出現黃色嘆號怎麼辦 瀏覽:991
約翰編譯器製作教程 瀏覽:130
大地pdf 瀏覽:109
pdfplus 瀏覽:577
匯編O命令 瀏覽:970
plt轉pdf 瀏覽:366
魔獸60宏命令大全 瀏覽:480
php志願者網站源碼 瀏覽:875
貿易pdf 瀏覽:499