#はじめに
与えられた面積比のベン図を描くこれをみてそんな計算ができるのかと思いそれっぽい面積比のベン図を描いてみました。
そもそもベン図って面積比を気にするようなものではないと思いますが、面積比がそれっぽいベン図っぽいものを描いてみました。
2019/04/21 せっかくなんでswift5.0対応しました
2019/10/16 せっかくなんでSwiftPM対応しました
#GitHub
#機能
- 円の色の設定ができる
- 円の枠線色の設定ができる
- 円に表示する文字の設定ができる
- 円に表示する文字色の設定ができる
- 円に表示する文字フォントの設定ができる
#使い方
-
値を設定する
@IBOutlet weak private var vennDiagramView: AMVennDiagramView! vennDiagramView.setupVennDiagram(value1: 1000, value2: 500, commonValue: 200)
vennDiagramView.dataSource = self
```
値がおかしい場合は図は表示されない。(共通部分がvalue1, value2よりも大きい場合など)
-
デリゲートを設定する
/// 円の塗りつぶし色を設定 func vennDiagramView(_ vennDiagramView:AMVennDiagramView, fillColorForSection section: Int) -> UIColor /// 円の枠線色を設定 func vennDiagramView(_ vennDiagramView:AMVennDiagramView, strokeColorForSection section: Int) -> UIColor /// 円に表示する文字を設定 func vennDiagramView(_ vennDiagramView:AMVennDiagramView, titleForSection section: Int, value: CGFloat) -> String /// 円の重なり部分に表示する文字を設定(共通部分がない場合は呼ばれない) func titleForCommonArea(in vennDiagramView:AMVennDiagramView, value: CGFloat) -> String /// 円に表示する文字色を設定 func vennDiagramView(_ vennDiagramView:AMVennDiagramView, textColorForSection section: Int) -> UIColor /// 円の重なり部分に表示する文字色を設定 func textColorForCommonArea(in vennDiagramView:AMVennDiagramView) -> UIColor /// 円に表示する文字フォントを設定 func vennDiagramView(_ vennDiagramView:AMVennDiagramView, textFontForSection section: Int) -> UIFont /// 円の重なり部分に表示する文字フォントを設定 func textFontForCommonArea(in vennDiagramView:AMVennDiagramView) -> UIFont
sectionはsetupVennDiagram(value1:, value2:, commonValue:)のvalue1が0,value2が1に相当する。
#さいごに
計算は少し妥協している点があるので共通部分の面積比に多少ずれがあると思いますが、私にはこれが限界でした。
私はほぼObjective-Cしか使ったことがないペーペーのプログラマーなので記事内容やgithubのコードにおかしなところがあればご指摘いただければ幸いです。
#つくったのまとめ
- アナログ時計を描画してみた(swift)
- スピードメーターをつくってみた(swift)
- めくるカレンダーをつくってみた(swift)
- グラフを描画してみた(swift)
- ちからわざで日本地図を描いてみた(swift)
- カラーピッカーをつくってみた(swift)
- 面積比がそれっぽいベン図を描いてみた(swift)
- UIViewを燃やしてみた(swift)
##動作確認用にまとめたプロジェクト