### 一ピクセルづつ、円を描く。
matplotlibのimshowで円を描く。
いつもはplotで描く。この時は、x座標、y座標を指定する。
その座標は、三角関数を使って用意する。((cosθ, sinθ))
ただ、imshowは配列の用意の仕方が違う。配列のindexが、座標そのものなので戸惑う。
「二次元の配列上に、一次元のプロットと同じ感覚でプロットしたい。」という要求。
↑これは、できなかったけど、まあ何とか形になったし、別にいいか。
### 作戦
下図参照
結構、面倒だった。
これの右側の話。どうやって、ピクセルのインデックスを指定するのか、ぱっと思いつかなかったので、描いた。
これまでのことを考えると、当たり前のことだったが、、、
- x,yの一次元の配列があって…
- 二次元の場合に当てはめると、インデキシングが、x,yの値に該当して…
- インデキシングで値を指定しようとすると、0〜Nの数字になるからマイナスはどうなっちゃうの?
- そもそも、値1と2の間に、1.9とか1.5とかあるし、imshowの場合は、1と2の間がない。(そういう風に軸を整えれば作れるが。)インデキシングはできない。
とかぐるぐる考えていた。
### コード
```py
import numpy as np
import matplotlib.pyplot as plt
import time
from datetime import datetime as dt
N,M = 32, 64
a=N/2-1
theta = np.linspace(0, 2.0*np.pi, min(N,M)*3)
x = np.cos(theta)*a+a
y = np.sin(theta)*a+a
x2 = np.around(x).astype(int)
y2 = np.around(y).astype(int)
img = np.zeros((N,M))
for i in range(len(x2)):
img[x2[i]][y2[i]] = 1
fig, (ax1, ax2) = plt.subplots(1,2)
ax1.plot(x,y)
ax2.imshow(img, cmap="gray",interpolation="None")
ax1.set_aspect("equal", "datalim")
tdatetime = dt.now()
fname = tdatetime.strftime('%Y%m%d'+ time.ctime()[11:13] + time.ctime()[14:16] + time.ctime()[17:19])
plt.savefig("%s.png"%(fname))
```
### 作っていて気付いたこと
##### 円周を、何ピクセル使って表現するか
円を描くとき、角速度が0〜2パイまでを使った。
これを、np.linspaceで**n分割**したの配列にして、変数θとした。
これを、cos θ, sin θに入れた。
n分割のところをどんな値にすれば適切なのか。
- 少ないと、円が途切れる。
- 多いと、単に無駄。
だいたい3で大丈夫。
### サイトの事
- ある記事がバズってる。アクセスカウンタがすごい。
「桁多めに設定しすぎたかなぁ。『こんなブログ、そんなに桁必要ねーよ』とか思われてたら恥ずかしいなぁ…(被害妄想)」と思ってたが、今となっては、「あと1桁くらいあってもいいかな。」と思ってる。
- さくらのブログのアクセスカウンタで、棒グラフが長くなると、積み上げグラフ→単独のグラフに代わる。
初めて見た!
- マークダウンをせずに書いても、それなりに読める。むしろ読みやすい。今回だけこのまま放置。
- これだけ、アクセスがあっても、収入はゼロ。
どうなってんの?置き方悪いの?広告が適切でないとか?
バズっているところに、内容にドンピシャで、自分も一年間の使用経験のある、商品の広告を置いてみるなどしてみた。
結果を様子見することにする…
【pythonの最新記事】
- 中速フーリエ変換 ~離散フーリエ変換より..
- 断面二次モーメントを、座標点の配列から計..
- 断面二次モーメントを、座標点の配列から計..
- fontファイルの文字データ(グリフ)を..
- matplotlibのpyplot.pl..
- 計算力学技術者試験の問題集 自炊(裁断→..
- pythonで、ホワイトノイズやピンクノ..
- 脳ドッグに行ってきた。→MRIの画像デー..
- matplotlibの、cmapを、徐々..
- matplotlibのmake_axes..
- matplotlib floatinga..
- matplotlib plotの色を、値..
- Pythonで、「二次元フーリエ変換した..
- matplotlibのlinestyle..
- どちらが正しいRGBか。(matplot..
- matplotlibのannotateの..
- matplotlibで、x軸とy軸の数字..
- VBAで、pythonのrangeとか、..
- matplotlibのaxes3Dで、a..
- matplotlibのlatexで、行列..
https://imgur.com/ENRm3bk
https://imgur.com/zJhAQgK
https://imgur.com/1Mg6NQh
https://imgur.com/BhEKpWk
https://imgur.com/BeBnFY2
https://imgur.com/5CwsQrz
https://imgur.com/K1HnPDQ
https://imgur.com/RlPyihJ
https://imgur.com/ks11zRu
https://imgur.com/T22waLl
https://imgur.com/R6rDPAW
https://imgur.com/Fy6s0AS
https://imgur.com/BqL2WqF
https://imgur.com/V74GLFz
https://imgur.com/HMc3n4w
https://imgur.com/c0ZKiTo
https://imgur.com/bahBVpK
https://imgur.com/bJnCbhN
https://imgur.com/tgElrwR
https://imgur.com/hsAlpi3
https://imgur.com/uPHc2j0
https://imgur.com/Lf2LVSr
https://imgur.com/Ehr0iwh
https://imgur.com/IMNvxda
https://imgur.com/AWqXiIa
https://imgur.com/h1ppZYJ
https://imgur.com/L3Egz2W
https://imgur.com/DD31TSv
https://imgur.com/FO5KLUp
https://imgur.com/6cD1uOa
https://imgur.com/7Qr1R9g
https://imgur.com/ycAE3q9
https://imgur.com/naR5cgG
https://imgur.com/PJqt0TC
https://imgur.com/latYDze
https://imgur.com/qZUp9UM
https://imgur.com/fD3k6a8
https://imgur.com/JPVyFlR
https://imgur.com/81EVl7m
https://imgur.com/XH4x4DN
https://imgur.com/52QRaji
https://imgur.com/xaIoLeo
https://imgur.com/6aKJqmJ
https://imgur.com/UK52dMY
https://imgur.com/AXQgX0x
https://imgur.com/1xXedBT
https://imgur.com/YgNB3Jk
https://imgur.com/B97RIij
https://imgur.com/5HagIIz
https://imgur.com/oGdySKN
https://imgur.com/GJNXYum
https://imgur.com/yY62hF1
https://imgur.com/9MOI9q5
https://imgur.com/L9TqlFn
https://imgur.com/n55GksE
https://imgur.com/vKqp7n1
https://imgur.com/gcLZTo9
https://imgur.com/oPYYu4q
https://imgur.com/vzvvmwa
https://imgur.com/GfE0umq
https://imgur.com/sUuZrR8