Ecoer Logo
VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS65.51%
Net Worth
21.840USD
STEEM
0.002STEEM
SBD
42.999SBD
Own SP
11.700SP

Detailed Balance

STEEM
balance
0.002STEEM
market_balance
0.000STEEM
savings_balance
0.000STEEM
reward_steem_balance
0.000STEEM
STEEM POWER
Own SP
11.700SP
Delegated Out
0.000SP
Delegation In
0.000SP
Effective Power
11.700SP
Reward SP (pending)
0.000SP
SBD
sbd_balance
42.999SBD
sbd_conversions
0.000SBD
sbd_market_balance
0.000SBD
savings_sbd_balance
0.000SBD
reward_sbd_balance
0.000SBD
{
  "balance": "0.002 STEEM",
  "savings_balance": "0.000 STEEM",
  "reward_steem_balance": "0.000 STEEM",
  "vesting_shares": "19051.399738 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "0.000000 VESTS",
  "sbd_balance": "42.999 SBD",
  "savings_sbd_balance": "0.000 SBD",
  "reward_sbd_balance": "0.000 SBD",
  "conversions": []
}

Account Info

namerohancmr
id552322
rank112,741
reputation254755996562
created2018-01-03T08:58:54
recovery_accountsteem
proxyNone
post_count48
comment_count0
lifetime_vote_count0
witnesses_voted_for0
last_post2018-01-24T15:17:09
last_root_post2018-01-23T11:57:36
last_vote_time2018-01-24T15:16:45
proxied_vsf_votes0, 0, 0, 0
can_vote1
voting_power0
delayed_votes0
balance0.002 STEEM
savings_balance0.000 STEEM
sbd_balance42.999 SBD
savings_sbd_balance0.000 SBD
vesting_shares19051.399738 VESTS
delegated_vesting_shares0.000000 VESTS
received_vesting_shares0.000000 VESTS
reward_vesting_balance0.000000 VESTS
vesting_balance0.000 STEEM
vesting_withdraw_rate0.000000 VESTS
next_vesting_withdrawal1969-12-31T23:59:59
withdrawn0
to_withdraw0
withdraw_routes0
savings_withdraw_requests0
last_account_recovery1970-01-01T00:00:00
reset_accountnull
last_owner_update1970-01-01T00:00:00
last_account_update2018-01-07T04:33:33
minedNo
sbd_seconds0
sbd_last_interest_payment2018-02-15T22:50:09
savings_sbd_last_interest_payment1970-01-01T00:00:00
{
  "id": 552322,
  "name": "rohancmr",
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM6B4UVGw7pt1rLJ7PaQ1WBYUNNzxyF1XEwMBRmRL8H2Fu7Dutth",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7Qmxn1VFHDmy2L15QtWjGNpecKYF725ufgXFu7BFCe1ZN24DcT",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [
      [
        "busy.app",
        1
      ],
      [
        "utopian.app",
        1
      ]
    ],
    "key_auths": [
      [
        "STM7FSVQGL5eSVnjWrtp6kf39R4cuWhSBmFsg5HSQQ1d7He2xnean",
        1
      ]
    ]
  },
  "memo_key": "STM5eah4z4G5vq9HefQNoJpp9DngyRJrTJy1VzMkNZXDEiEqNetzv",
  "json_metadata": "{\"profile\":{\"profile_image\":\"https://s20.postimg.org/9lfv93359/Untitled.png\",\"name\":\"rohan\",\"cover_image\":\"https://s20.postimg.org/6wgh5kg2l/geek_derek_prospero_1680x1050_wallpaper_www.wallpapername.com_90.jpg\"}}",
  "posting_json_metadata": "{\"profile\":{\"profile_image\":\"https://s20.postimg.org/9lfv93359/Untitled.png\",\"name\":\"rohan\",\"cover_image\":\"https://s20.postimg.org/6wgh5kg2l/geek_derek_prospero_1680x1050_wallpaper_www.wallpapername.com_90.jpg\"}}",
  "proxy": "",
  "last_owner_update": "1970-01-01T00:00:00",
  "last_account_update": "2018-01-07T04:33:33",
  "created": "2018-01-03T08:58:54",
  "mined": false,
  "recovery_account": "steem",
  "last_account_recovery": "1970-01-01T00:00:00",
  "reset_account": "null",
  "comment_count": 0,
  "lifetime_vote_count": 0,
  "post_count": 48,
  "can_vote": true,
  "voting_manabar": {
    "current_mana": "19051399738",
    "last_update_time": 1588950141
  },
  "downvote_manabar": {
    "current_mana": "4762849934",
    "last_update_time": 1588950141
  },
  "voting_power": 0,
  "balance": "0.002 STEEM",
  "savings_balance": "0.000 STEEM",
  "sbd_balance": "42.999 SBD",
  "sbd_seconds": "0",
  "sbd_seconds_last_update": "2018-02-15T22:50:09",
  "sbd_last_interest_payment": "2018-02-15T22:50:09",
  "savings_sbd_balance": "0.000 SBD",
  "savings_sbd_seconds": "0",
  "savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
  "savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_withdraw_requests": 0,
  "reward_sbd_balance": "0.000 SBD",
  "reward_steem_balance": "0.000 STEEM",
  "reward_vesting_balance": "0.000000 VESTS",
  "reward_vesting_steem": "0.000 STEEM",
  "vesting_shares": "19051.399738 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "0.000000 VESTS",
  "vesting_withdraw_rate": "0.000000 VESTS",
  "next_vesting_withdrawal": "1969-12-31T23:59:59",
  "withdrawn": 0,
  "to_withdraw": 0,
  "withdraw_routes": 0,
  "curation_rewards": 46,
  "posting_rewards": 17515,
  "proxied_vsf_votes": [
    0,
    0,
    0,
    0
  ],
  "witnesses_voted_for": 0,
  "last_post": "2018-01-24T15:17:09",
  "last_root_post": "2018-01-23T11:57:36",
  "last_vote_time": "2018-01-24T15:16:45",
  "post_bandwidth": 0,
  "pending_claimed_accounts": 0,
  "vesting_balance": "0.000 STEEM",
  "reputation": "254755996562",
  "transfer_history": [],
  "market_history": [],
  "post_history": [],
  "vote_history": [],
  "other_history": [],
  "witness_votes": [],
  "tags_usage": [],
  "guest_bloggers": [],
  "rank": 112741
}

Withdraw Routes

IncomingOutgoing
Empty
Empty
{
  "incoming": [],
  "outgoing": []
}
From Date
To Date
steemdelegated 0.000 SP to @rohancmr
2020/05/08 15:02:21
delegatorsteem
delegateerohancmr
vesting shares0.000000 VESTS
Transaction InfoBlock #43199812/Trx fb6e48c5ff927e746fa1477f15f7522c675f021d
View Raw JSON Data
{
  "trx_id": "fb6e48c5ff927e746fa1477f15f7522c675f021d",
  "block": 43199812,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-08T15:02:21",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "rohancmr",
      "vesting_shares": "0.000000 VESTS"
    }
  ]
}
2020/01/03 10:32:18
parent authorrohancmr
parent permlinkdata-visualization-using-python-s-matplotlib-library
authorsteemitboard
permlinksteemitboard-notify-rohancmr-20200103t103217000z
title
bodyCongratulations @rohancmr! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@rohancmr/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@rohancmr) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=rohancmr)_</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
Transaction InfoBlock #39602446/Trx 1335e35b3f2a81817e07bf741e6afd801d41b552
View Raw JSON Data
{
  "trx_id": "1335e35b3f2a81817e07bf741e6afd801d41b552",
  "block": 39602446,
  "trx_in_block": 14,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-01-03T10:32:18",
  "op": [
    "comment",
    {
      "parent_author": "rohancmr",
      "parent_permlink": "data-visualization-using-python-s-matplotlib-library",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-rohancmr-20200103t103217000z",
      "title": "",
      "body": "Congratulations @rohancmr! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@rohancmr/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@rohancmr) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=rohancmr)_</sub>\n\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
    }
  ]
}
2019/01/03 10:46:36
parent authorrohancmr
parent permlinkdata-visualization-using-python-s-matplotlib-library
authorsteemitboard
permlinksteemitboard-notify-rohancmr-20190103t104635000z
title
bodyCongratulations @rohancmr! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@rohancmr/birthday1.png</td><td>1 Year on Steemit</td></tr></table> <sub>_[Click here to view your Board](https://steemitboard.com/@rohancmr)_</sub> > Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
Transaction InfoBlock #29129635/Trx 3368b9ba72a5e6c997d310b3f17ff429482ca45b
View Raw JSON Data
{
  "trx_id": "3368b9ba72a5e6c997d310b3f17ff429482ca45b",
  "block": 29129635,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-01-03T10:46:36",
  "op": [
    "comment",
    {
      "parent_author": "rohancmr",
      "parent_permlink": "data-visualization-using-python-s-matplotlib-library",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-rohancmr-20190103t104635000z",
      "title": "",
      "body": "Congratulations @rohancmr! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@rohancmr/birthday1.png</td><td>1 Year on Steemit</td></tr></table>\n\n<sub>_[Click here to view your Board](https://steemitboard.com/@rohancmr)_</sub>\n\n\n> Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
    }
  ]
}
2018/09/16 07:17:12
voteramnat
authorrohancmr
permlinkinstalling-docker-on-centos-redhat
weight10000 (100.00%)
Transaction InfoBlock #26004058/Trx 8273826e49b768f2f5aef4d68d609a9e80797437
View Raw JSON Data
{
  "trx_id": "8273826e49b768f2f5aef4d68d609a9e80797437",
  "block": 26004058,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-09-16T07:17:12",
  "op": [
    "vote",
    {
      "voter": "amnat",
      "author": "rohancmr",
      "permlink": "installing-docker-on-centos-redhat",
      "weight": 10000
    }
  ]
}
steemdelegated 1.250 SP to @rohancmr
2018/05/17 00:04:15
delegatorsteem
delegateerohancmr
vesting shares2034.832276 VESTS
Transaction InfoBlock #22494386/Trx 4b845867d7d6c3a7c9ccf859e57c36a12cb9dfc7
View Raw JSON Data
{
  "trx_id": "4b845867d7d6c3a7c9ccf859e57c36a12cb9dfc7",
  "block": 22494386,
  "trx_in_block": 25,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-17T00:04:15",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "rohancmr",
      "vesting_shares": "2034.832276 VESTS"
    }
  ]
}
2018/03/20 16:40:12
voterentuir
authorrohancmr
permlinkstore-passwords-safely-with-keepass
weight10000 (100.00%)
Transaction InfoBlock #20845649/Trx 09951cc022b632251243be9b3291e857b513fa2b
View Raw JSON Data
{
  "trx_id": "09951cc022b632251243be9b3291e857b513fa2b",
  "block": 20845649,
  "trx_in_block": 10,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-03-20T16:40:12",
  "op": [
    "vote",
    {
      "voter": "entuir",
      "author": "rohancmr",
      "permlink": "store-passwords-safely-with-keepass",
      "weight": 10000
    }
  ]
}
money-dreamersent 0.001 SBD to @rohancmr- "Hi @rohancmr Your earnings: 0.001 SBD https://steemit.com/follow/@money-dreamer/follower-earnings Un/follow to un/subscribe."
2018/02/15 22:50:09
frommoney-dreamer
torohancmr
amount0.001 SBD
memoHi @rohancmr Your earnings: 0.001 SBD https://steemit.com/follow/@money-dreamer/follower-earnings Un/follow to un/subscribe.
Transaction InfoBlock #19903506/Trx a4a5f748d7a0c57629dc235d28dbce8ee1506f44
View Raw JSON Data
{
  "trx_id": "a4a5f748d7a0c57629dc235d28dbce8ee1506f44",
  "block": 19903506,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-15T22:50:09",
  "op": [
    "transfer",
    {
      "from": "money-dreamer",
      "to": "rohancmr",
      "amount": "0.001 SBD",
      "memo": "Hi @rohancmr Your earnings: 0.001 SBD https://steemit.com/follow/@money-dreamer/follower-earnings Un/follow to un/subscribe."
    }
  ]
}
2018/02/11 11:26:27
votermishra
authorrohancmr
permlinkquery-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library
weight10000 (100.00%)
Transaction InfoBlock #19774758/Trx fa48d360d9dd43ae63e5a01f6acb1d0be43acbdf
View Raw JSON Data
{
  "trx_id": "fa48d360d9dd43ae63e5a01f6acb1d0be43acbdf",
  "block": 19774758,
  "trx_in_block": 49,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-11T11:26:27",
  "op": [
    "vote",
    {
      "voter": "mishra",
      "author": "rohancmr",
      "permlink": "query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library",
      "weight": 10000
    }
  ]
}
2018/02/11 11:21:24
votermishra
authorrohancmr
permlinkget-and-post-requests-using-python-s-requests-library
weight10000 (100.00%)
Transaction InfoBlock #19774657/Trx 9e15e0d7ba3639f99c6c9654da964e12e45745cf
View Raw JSON Data
{
  "trx_id": "9e15e0d7ba3639f99c6c9654da964e12e45745cf",
  "block": 19774657,
  "trx_in_block": 40,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-11T11:21:24",
  "op": [
    "vote",
    {
      "voter": "mishra",
      "author": "rohancmr",
      "permlink": "get-and-post-requests-using-python-s-requests-library",
      "weight": 10000
    }
  ]
}
2018/02/11 10:24:57
parent authorrohancmr
parent permlinkstore-passwords-safely-with-keepass
authorfenmark
permlinkre-rohancmr-store-passwords-safely-with-keepass-20180211t102455726z
title
bodyGreat enlightment upvote me @fenmark https://steemit.com/angeriswrong/@fenmark/the-good-thing-in-your-anger
json metadata{"tags":["utopian-io"],"users":["fenmark"],"links":["https://steemit.com/angeriswrong/@fenmark/the-good-thing-in-your-anger"],"app":"steemit/0.1"}
Transaction InfoBlock #19773528/Trx f0d5540fb563f00df64c8de9cae8755259d6fdcf
View Raw JSON Data
{
  "trx_id": "f0d5540fb563f00df64c8de9cae8755259d6fdcf",
  "block": 19773528,
  "trx_in_block": 32,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-11T10:24:57",
  "op": [
    "comment",
    {
      "parent_author": "rohancmr",
      "parent_permlink": "store-passwords-safely-with-keepass",
      "author": "fenmark",
      "permlink": "re-rohancmr-store-passwords-safely-with-keepass-20180211t102455726z",
      "title": "",
      "body": "Great enlightment\nupvote me @fenmark\nhttps://steemit.com/angeriswrong/@fenmark/the-good-thing-in-your-anger",
      "json_metadata": "{\"tags\":[\"utopian-io\"],\"users\":[\"fenmark\"],\"links\":[\"https://steemit.com/angeriswrong/@fenmark/the-good-thing-in-your-anger\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/02/11 10:24:18
voterfenmark
authorrohancmr
permlinkstore-passwords-safely-with-keepass
weight10000 (100.00%)
Transaction InfoBlock #19773515/Trx 56afa2ba3c2dd7d83ea7219fea039f2c4369374c
View Raw JSON Data
{
  "trx_id": "56afa2ba3c2dd7d83ea7219fea039f2c4369374c",
  "block": 19773515,
  "trx_in_block": 34,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-11T10:24:18",
  "op": [
    "vote",
    {
      "voter": "fenmark",
      "author": "rohancmr",
      "permlink": "store-passwords-safely-with-keepass",
      "weight": 10000
    }
  ]
}
money-dreamersent 0.001 SBD to @rohancmr- "Hi @rohancmr See this weeks winners and enter next weeks 40 SBD WebGL Screen Capture Contest here: https://steemit.com/contest/@money-dreamer/40-sbd-webgl-screen-capture-contest"
2018/02/09 11:14:18
frommoney-dreamer
torohancmr
amount0.001 SBD
memoHi @rohancmr See this weeks winners and enter next weeks 40 SBD WebGL Screen Capture Contest here: https://steemit.com/contest/@money-dreamer/40-sbd-webgl-screen-capture-contest
Transaction InfoBlock #19716950/Trx 1628fcfe46e8794be9547ab6f54d9adb1a6808c8
View Raw JSON Data
{
  "trx_id": "1628fcfe46e8794be9547ab6f54d9adb1a6808c8",
  "block": 19716950,
  "trx_in_block": 28,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-09T11:14:18",
  "op": [
    "transfer",
    {
      "from": "money-dreamer",
      "to": "rohancmr",
      "amount": "0.001 SBD",
      "memo": "Hi @rohancmr See this weeks winners and enter next weeks 40 SBD WebGL Screen Capture Contest here: https://steemit.com/contest/@money-dreamer/40-sbd-webgl-screen-capture-contest"
    }
  ]
}
money-dreamersent 0.001 SBD to @rohancmr- "Hi @rohancmr Your Follower Rewards: https://steemit.com/payouts/@money-dreamer/follower-rewards (Un/follow to un/subscribe)."
2018/02/08 03:44:48
frommoney-dreamer
torohancmr
amount0.001 SBD
memoHi @rohancmr Your Follower Rewards: https://steemit.com/payouts/@money-dreamer/follower-rewards (Un/follow to un/subscribe).
Transaction InfoBlock #19679314/Trx 3472e76609c6c0a5fed639618c18fa26e1d8b2fa
View Raw JSON Data
{
  "trx_id": "3472e76609c6c0a5fed639618c18fa26e1d8b2fa",
  "block": 19679314,
  "trx_in_block": 36,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-08T03:44:48",
  "op": [
    "transfer",
    {
      "from": "money-dreamer",
      "to": "rohancmr",
      "amount": "0.001 SBD",
      "memo": "Hi @rohancmr Your Follower Rewards: https://steemit.com/payouts/@money-dreamer/follower-rewards (Un/follow to un/subscribe)."
    }
  ]
}
money-dreamersent 0.001 STEEM to @rohancmr- "Enter the 30 SBD WebGL Screen Capture Contest - https://steemit.com/contest/@money-dreamer/30-sbd-webgl-screen-capture-contest - Un/follow to start/stop receiving these memos!"
2018/02/02 01:26:27
frommoney-dreamer
torohancmr
amount0.001 STEEM
memoEnter the 30 SBD WebGL Screen Capture Contest - https://steemit.com/contest/@money-dreamer/30-sbd-webgl-screen-capture-contest - Un/follow to start/stop receiving these memos!
Transaction InfoBlock #19504057/Trx fb4b9ba32dc3ec90dc9f184b73bc7ec12ed4188f
View Raw JSON Data
{
  "trx_id": "fb4b9ba32dc3ec90dc9f184b73bc7ec12ed4188f",
  "block": 19504057,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-02T01:26:27",
  "op": [
    "transfer",
    {
      "from": "money-dreamer",
      "to": "rohancmr",
      "amount": "0.001 STEEM",
      "memo": "Enter the 30 SBD WebGL Screen Capture Contest - https://steemit.com/contest/@money-dreamer/30-sbd-webgl-screen-capture-contest - Un/follow to start/stop receiving these memos!"
    }
  ]
}
steemdelegated 7.147 SP to @rohancmr
2018/02/01 05:23:27
delegatorsteem
delegateerohancmr
vesting shares11638.559151 VESTS
Transaction InfoBlock #19480045/Trx a9642797f3e472095dcc12a73b09ce6a588cf61d
View Raw JSON Data
{
  "trx_id": "a9642797f3e472095dcc12a73b09ce6a588cf61d",
  "block": 19480045,
  "trx_in_block": 25,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-01T05:23:27",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "rohancmr",
      "vesting_shares": "11638.559151 VESTS"
    }
  ]
}
rohancmrclaimed reward balance: 7.247 SBD, 1.551 SP
2018/02/01 02:41:09
accountrohancmr
reward steem0.000 STEEM
reward sbd7.247 SBD
reward vests2524.997868 VESTS
Transaction InfoBlock #19476804/Trx 8537b702a185b588dff6ad21f831fb5c97e43aa6
View Raw JSON Data
{
  "trx_id": "8537b702a185b588dff6ad21f831fb5c97e43aa6",
  "block": 19476804,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-01T02:41:09",
  "op": [
    "claim_reward_balance",
    {
      "account": "rohancmr",
      "reward_steem": "0.000 STEEM",
      "reward_sbd": "7.247 SBD",
      "reward_vests": "2524.997868 VESTS"
    }
  ]
}
money-dreamersent 0.003 SBD to @rohancmr- "Follower SBD Payout. Un/follow to start/stop receiving weekly payouts!"
2018/02/01 01:36:54
frommoney-dreamer
torohancmr
amount0.003 SBD
memoFollower SBD Payout. Un/follow to start/stop receiving weekly payouts!
Transaction InfoBlock #19475522/Trx 5752ca879da8354d8152cb66a657358785d73e5d
View Raw JSON Data
{
  "trx_id": "5752ca879da8354d8152cb66a657358785d73e5d",
  "block": 19475522,
  "trx_in_block": 38,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-02-01T01:36:54",
  "op": [
    "transfer",
    {
      "from": "money-dreamer",
      "to": "rohancmr",
      "amount": "0.003 SBD",
      "memo": "Follower SBD Payout. Un/follow to start/stop receiving weekly payouts!"
    }
  ]
}
rohancmrreceived 7.247 SBD, 1.529 SP author reward for @rohancmr / data-visualization-using-python-s-matplotlib-library
2018/01/30 11:57:36
authorrohancmr
permlinkdata-visualization-using-python-s-matplotlib-library
sbd payout7.247 SBD
steem payout0.000 STEEM
vesting payout2490.212647 VESTS
Transaction InfoBlock #19430375/Virtual Operation #29
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 19430375,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 29,
  "timestamp": "2018-01-30T11:57:36",
  "op": [
    "author_reward",
    {
      "author": "rohancmr",
      "permlink": "data-visualization-using-python-s-matplotlib-library",
      "sbd_payout": "7.247 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "2490.212647 VESTS"
    }
  ]
}
utopian.payreceived 1.019 SP benefactor reward from @rohancmr
2018/01/30 11:57:36
benefactorutopian.pay
authorrohancmr
permlinkdata-visualization-using-python-s-matplotlib-library
sbd payout0.000 SBD
steem payout0.000 STEEM
vesting payout1659.459702 VESTS
Transaction InfoBlock #19430375/Virtual Operation #28
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 19430375,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 28,
  "timestamp": "2018-01-30T11:57:36",
  "op": [
    "comment_benefactor_reward",
    {
      "benefactor": "utopian.pay",
      "author": "rohancmr",
      "permlink": "data-visualization-using-python-s-matplotlib-library",
      "sbd_payout": "0.000 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "1659.459702 VESTS"
    }
  ]
}
2018/01/30 11:57:36
curatorrohancmr
reward34.785221 VESTS
comment authorrohancmr
comment permlinkdata-visualization-using-python-s-matplotlib-library
Transaction InfoBlock #19430375/Virtual Operation #24
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 19430375,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 24,
  "timestamp": "2018-01-30T11:57:36",
  "op": [
    "curation_reward",
    {
      "curator": "rohancmr",
      "reward": "34.785221 VESTS",
      "comment_author": "rohancmr",
      "comment_permlink": "data-visualization-using-python-s-matplotlib-library"
    }
  ]
}
money-dreamersent 0.001 STEEM to @rohancmr- "Hi follower! My followers will split the SBD rewards for https://steemit.com/steem/@money-dreamer/gift Upvote and resteem so everyone gets a higher payout."
2018/01/27 00:28:42
frommoney-dreamer
torohancmr
amount0.001 STEEM
memoHi follower! My followers will split the SBD rewards for https://steemit.com/steem/@money-dreamer/gift Upvote and resteem so everyone gets a higher payout.
Transaction InfoBlock #19330261/Trx 42b29dee4fae4af8731a2743fca202fa9cbbb5cb
View Raw JSON Data
{
  "trx_id": "42b29dee4fae4af8731a2743fca202fa9cbbb5cb",
  "block": 19330261,
  "trx_in_block": 19,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-27T00:28:42",
  "op": [
    "transfer",
    {
      "from": "money-dreamer",
      "to": "rohancmr",
      "amount": "0.001 STEEM",
      "memo": "Hi follower! My followers will split the SBD rewards for https://steemit.com/steem/@money-dreamer/gift Upvote and resteem so everyone gets a higher payout."
    }
  ]
}
2018/01/25 03:21:24
parent authorrohancmr
parent permlinkdata-visualization-using-python-s-matplotlib-library
authorutopian-io
permlinkre-rohancmr-data-visualization-using-python-s-matplotlib-library-20180125t032115482z
title
body### Hey @rohancmr I am @utopian-io. I have just upvoted you! #### Achievements - You have less than 500 followers. Just gave you a gift to help you succeed! - Seems like you contribute quite often. AMAZING! #### Suggestions - Contribute more often to get higher and higher rewards. I wish to see you often! - Work on your followers to increase the votes/rewards. I follow what humans do and my vote is mainly based on that. Good luck! #### Get Noticed! - Did you know project owners can manually vote with their own voting power or by voting power delegated to their projects? Ask the project owner to review your contributions! #### Community-Driven Witness! I am the first and only Steem Community-Driven Witness. <a href="https://discord.gg/zTrEMqB">Participate on Discord</a>. Lets GROW TOGETHER! - <a href="https://v2.steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1">Vote for my Witness With SteemConnect</a> - <a href="https://v2.steemconnect.com/sign/account-witness-proxy?proxy=utopian-io&approve=1">Proxy vote to Utopian Witness with SteemConnect</a> - Or vote/proxy on <a href="https://steemit.com/~witnesses">Steemit Witnesses</a> [![mooncryption-utopian-witness-gif](https://steemitimages.com/DQmYPUuQRptAqNBCQRwQjKWAqWU3zJkL3RXVUtEKVury8up/mooncryption-s-utopian-io-witness-gif.gif)](https://steemit.com/~witnesses) **Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x**
json metadata{"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"}
Transaction InfoBlock #19276152/Trx 6f427a4d4a6fc4528698e28b265fea7d3c668d00
View Raw JSON Data
{
  "trx_id": "6f427a4d4a6fc4528698e28b265fea7d3c668d00",
  "block": 19276152,
  "trx_in_block": 55,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-25T03:21:24",
  "op": [
    "comment",
    {
      "parent_author": "rohancmr",
      "parent_permlink": "data-visualization-using-python-s-matplotlib-library",
      "author": "utopian-io",
      "permlink": "re-rohancmr-data-visualization-using-python-s-matplotlib-library-20180125t032115482z",
      "title": "",
      "body": "### Hey @rohancmr I am @utopian-io. I have just upvoted you!\n#### Achievements\n- You have less than 500 followers. Just gave you a gift to help you succeed!\n- Seems like you contribute quite often. AMAZING!\n#### Suggestions\n- Contribute more often to get higher and higher rewards. I wish to see you often!\n- Work on your followers to increase the votes/rewards. I follow what humans do and my vote is mainly based on that. Good luck!\n#### Get Noticed!\n- Did you know project owners can manually vote with their own voting power or by voting power delegated to their projects? Ask the project owner to review your contributions!\n#### Community-Driven Witness!\nI am the first and only Steem Community-Driven Witness. <a href=\"https://discord.gg/zTrEMqB\">Participate on Discord</a>. Lets GROW TOGETHER!\n- <a href=\"https://v2.steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1\">Vote for my Witness With SteemConnect</a>\n- <a href=\"https://v2.steemconnect.com/sign/account-witness-proxy?proxy=utopian-io&approve=1\">Proxy vote to Utopian Witness with SteemConnect</a>\n- Or vote/proxy on <a href=\"https://steemit.com/~witnesses\">Steemit Witnesses</a>\n\n[![mooncryption-utopian-witness-gif](https://steemitimages.com/DQmYPUuQRptAqNBCQRwQjKWAqWU3zJkL3RXVUtEKVury8up/mooncryption-s-utopian-io-witness-gif.gif)](https://steemit.com/~witnesses)\n\n**Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x**",
      "json_metadata": "{\"tags\":[\"utopian-io\"],\"community\":\"utopian\",\"app\":\"utopian/1.0.0\"}"
    }
  ]
}
2018/01/25 03:21:12
voterutopian-io
authorrohancmr
permlinkdata-visualization-using-python-s-matplotlib-library
weight161 (1.61%)
Transaction InfoBlock #19276148/Trx b43df6012008586da77716a8a42b3bd53b0e96e2
View Raw JSON Data
{
  "trx_id": "b43df6012008586da77716a8a42b3bd53b0e96e2",
  "block": 19276148,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-25T03:21:12",
  "op": [
    "vote",
    {
      "voter": "utopian-io",
      "author": "rohancmr",
      "permlink": "data-visualization-using-python-s-matplotlib-library",
      "weight": 161
    }
  ]
}
steemdelegated 8.705 SP to @rohancmr
2018/01/25 02:03:12
delegatorsteem
delegateerohancmr
vesting shares14174.770994 VESTS
Transaction InfoBlock #19274588/Trx 71a6569afbfb28713c1a1ffd2779f1b16385716f
View Raw JSON Data
{
  "trx_id": "71a6569afbfb28713c1a1ffd2779f1b16385716f",
  "block": 19274588,
  "trx_in_block": 42,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-25T02:03:12",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "rohancmr",
      "vesting_shares": "14174.770994 VESTS"
    }
  ]
}
rohancmrclaimed reward balance: 9.141 SBD, 2.650 SP
2018/01/25 00:11:00
accountrohancmr
reward steem0.000 STEEM
reward sbd9.141 SBD
reward vests4314.619374 VESTS
Transaction InfoBlock #19272345/Trx 040257d47196f017e720a39b8551f6e587a2eeb3
View Raw JSON Data
{
  "trx_id": "040257d47196f017e720a39b8551f6e587a2eeb3",
  "block": 19272345,
  "trx_in_block": 20,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-25T00:11:00",
  "op": [
    "claim_reward_balance",
    {
      "account": "rohancmr",
      "reward_steem": "0.000 STEEM",
      "reward_sbd": "9.141 SBD",
      "reward_vests": "4314.619374 VESTS"
    }
  ]
}
2018/01/24 23:39:36
voterjolenewalker
authorrohancmr
permlinkdata-visualization-using-python-s-matplotlib-library
weight10000 (100.00%)
Transaction InfoBlock #19271717/Trx 0938b0eda0618875709b42b07ca5b7783193a86c
View Raw JSON Data
{
  "trx_id": "0938b0eda0618875709b42b07ca5b7783193a86c",
  "block": 19271717,
  "trx_in_block": 45,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-24T23:39:36",
  "op": [
    "vote",
    {
      "voter": "jolenewalker",
      "author": "rohancmr",
      "permlink": "data-visualization-using-python-s-matplotlib-library",
      "weight": 10000
    }
  ]
}
2018/01/24 19:18:33
voterugurgulmen
authorrohancmr
permlinkdata-visualization-using-python-s-matplotlib-library
weight10000 (100.00%)
Transaction InfoBlock #19266498/Trx 65355b460676c0706be3482e8f831b22fcb9767c
View Raw JSON Data
{
  "trx_id": "65355b460676c0706be3482e8f831b22fcb9767c",
  "block": 19266498,
  "trx_in_block": 50,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-24T19:18:33",
  "op": [
    "vote",
    {
      "voter": "ugurgulmen",
      "author": "rohancmr",
      "permlink": "data-visualization-using-python-s-matplotlib-library",
      "weight": 10000
    }
  ]
}
2018/01/24 18:56:18
authorrohancmr
permlinkquery-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library
sbd payout9.133 SBD
steem payout0.000 STEEM
vesting payout4302.338270 VESTS
Transaction InfoBlock #19266052/Virtual Operation #32
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 19266052,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 32,
  "timestamp": "2018-01-24T18:56:18",
  "op": [
    "author_reward",
    {
      "author": "rohancmr",
      "permlink": "query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library",
      "sbd_payout": "9.133 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "4302.338270 VESTS"
    }
  ]
}
utopian.payreceived 1.761 SP benefactor reward from @rohancmr
2018/01/24 18:56:18
benefactorutopian.pay
authorrohancmr
permlinkquery-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library
sbd payout0.000 SBD
steem payout0.000 STEEM
vesting payout2867.543252 VESTS
Transaction InfoBlock #19266052/Virtual Operation #31
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 19266052,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 31,
  "timestamp": "2018-01-24T18:56:18",
  "op": [
    "comment_benefactor_reward",
    {
      "benefactor": "utopian.pay",
      "author": "rohancmr",
      "permlink": "query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library",
      "sbd_payout": "0.000 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "2867.543252 VESTS"
    }
  ]
}
2018/01/24 18:46:27
voteralphacore
authorrohancmr
permlinkdata-visualization-using-python-s-matplotlib-library
weight1600 (16.00%)
Transaction InfoBlock #19265856/Trx 75a3203b76f036f4a921773355a15bd370cbb234
View Raw JSON Data
{
  "trx_id": "75a3203b76f036f4a921773355a15bd370cbb234",
  "block": 19265856,
  "trx_in_block": 24,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-24T18:46:27",
  "op": [
    "vote",
    {
      "voter": "alphacore",
      "author": "rohancmr",
      "permlink": "data-visualization-using-python-s-matplotlib-library",
      "weight": 1600
    }
  ]
}
2018/01/24 15:17:09
parent authormanishmike10
parent permlinkre-rohancmr-data-visualization-using-python-s-matplotlib-library-20180124t151026676z
authorrohancmr
permlinkre-manishmike10-re-rohancmr-data-visualization-using-python-s-matplotlib-library-20180124t151707218z
title
bodyThank you.
json metadata{"tags":["utopian-io"],"app":"steemit/0.1"}
Transaction InfoBlock #19261671/Trx a8d92517deeff693453db24fe90bcff36d6d8e3f
View Raw JSON Data
{
  "trx_id": "a8d92517deeff693453db24fe90bcff36d6d8e3f",
  "block": 19261671,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-24T15:17:09",
  "op": [
    "comment",
    {
      "parent_author": "manishmike10",
      "parent_permlink": "re-rohancmr-data-visualization-using-python-s-matplotlib-library-20180124t151026676z",
      "author": "rohancmr",
      "permlink": "re-manishmike10-re-rohancmr-data-visualization-using-python-s-matplotlib-library-20180124t151707218z",
      "title": "",
      "body": "Thank you.",
      "json_metadata": "{\"tags\":[\"utopian-io\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/01/24 15:16:45
voterrohancmr
authormanishmike10
permlinkre-rohancmr-data-visualization-using-python-s-matplotlib-library-20180124t151026676z
weight10000 (100.00%)
Transaction InfoBlock #19261663/Trx c2c25740478f3efd99b15c418ad576bc88348d2c
View Raw JSON Data
{
  "trx_id": "c2c25740478f3efd99b15c418ad576bc88348d2c",
  "block": 19261663,
  "trx_in_block": 44,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-24T15:16:45",
  "op": [
    "vote",
    {
      "voter": "rohancmr",
      "author": "manishmike10",
      "permlink": "re-rohancmr-data-visualization-using-python-s-matplotlib-library-20180124t151026676z",
      "weight": 10000
    }
  ]
}
2018/01/24 15:16:33
parent authorrohancmr
parent permlinkdata-visualization-using-python-s-matplotlib-library
authorrohancmr
permlinkre-rohancmr-data-visualization-using-python-s-matplotlib-library-20180124t151630609z
title
body@originalworks
json metadata{"tags":["utopian-io"],"users":["originalworks"],"app":"steemit/0.1"}
Transaction InfoBlock #19261659/Trx 44fc7a15f0de4eb09905347e2406a1058b89c7cc
View Raw JSON Data
{
  "trx_id": "44fc7a15f0de4eb09905347e2406a1058b89c7cc",
  "block": 19261659,
  "trx_in_block": 9,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-24T15:16:33",
  "op": [
    "comment",
    {
      "parent_author": "rohancmr",
      "parent_permlink": "data-visualization-using-python-s-matplotlib-library",
      "author": "rohancmr",
      "permlink": "re-rohancmr-data-visualization-using-python-s-matplotlib-library-20180124t151630609z",
      "title": "",
      "body": "@originalworks",
      "json_metadata": "{\"tags\":[\"utopian-io\"],\"users\":[\"originalworks\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/01/24 15:11:27
votercifer
authorrohancmr
permlinkdata-visualization-using-python-s-matplotlib-library
weight9000 (90.00%)
Transaction InfoBlock #19261557/Trx 5e76ed75da7bd5b5d67ba517888432d466ab7c23
View Raw JSON Data
{
  "trx_id": "5e76ed75da7bd5b5d67ba517888432d466ab7c23",
  "block": 19261557,
  "trx_in_block": 15,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-24T15:11:27",
  "op": [
    "vote",
    {
      "voter": "cifer",
      "author": "rohancmr",
      "permlink": "data-visualization-using-python-s-matplotlib-library",
      "weight": 9000
    }
  ]
}
2018/01/24 15:10:27
parent authorrohancmr
parent permlinkdata-visualization-using-python-s-matplotlib-library
authormanishmike10
permlinkre-rohancmr-data-visualization-using-python-s-matplotlib-library-20180124t151026676z
title
bodyThank you for the contribution. It has been approved. You can contact us on [Discord](https://discord.gg/uTyJkNm). **[[utopian-moderator]](https://utopian.io/moderators)**
json metadata{"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"}
Transaction InfoBlock #19261537/Trx d0372f7024912ead99945922ce5c1ff71242e93d
View Raw JSON Data
{
  "trx_id": "d0372f7024912ead99945922ce5c1ff71242e93d",
  "block": 19261537,
  "trx_in_block": 11,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-24T15:10:27",
  "op": [
    "comment",
    {
      "parent_author": "rohancmr",
      "parent_permlink": "data-visualization-using-python-s-matplotlib-library",
      "author": "manishmike10",
      "permlink": "re-rohancmr-data-visualization-using-python-s-matplotlib-library-20180124t151026676z",
      "title": "",
      "body": "Thank you for the contribution. It has been approved.\n\nYou can contact us on [Discord](https://discord.gg/uTyJkNm).\n**[[utopian-moderator]](https://utopian.io/moderators)**",
      "json_metadata": "{\"tags\":[\"utopian-io\"],\"community\":\"utopian\",\"app\":\"utopian/1.0.0\"}"
    }
  ]
}
2018/01/24 15:10:21
parent author
parent permlinkutopian-io
authorrohancmr
permlinkdata-visualization-using-python-s-matplotlib-library
titleData Visualization using Python's Matplotlib Library
body![800px-Matplotlib_logo.svg.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549765/scafbhifl0win5wtcqtz.png) Matplotlib is an open source Python plotting library. It is written by John D.Hunter and has an active development community. Matplotlib produces publication quality figures in Python scripts, IPython shell, Jupyter notebook, web applications and several gui toolkits. Using this we can generate variety of charts like plots, histograms, barcharts, scatter plots, error plots etc. One of the most popular used case of Matplotlib is for data analysis and visulation. In this tutorial, I'll show how we can use Matplotlib for creating line charts, bar charts, pie charts and donut charts. ## What this tutorial covers ? ## Difficulty * Basic ## Installation Matplotlib requires pyparsing, cycler, numpy and pytz libraries for installation. Matplotlib and all of its dependencies can be installed using ``` pip ```. ``` pip install matplotlib ``` Verify if it is properly installed by importing matplotlib. ``` import matplotlib ``` ![install.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549094/tv25qbujyhbsyuasbsm4.gif) ## Creating a Line Charts The below three line of code generates a simple line chart. ![example1_code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549119/ish5vr0z5uqflbcriout.png) * In the above code we import ``` matplotlib.pyplot ``` module as ``` plt ``` for plotting the chart. ``` import matplotlib.pyplot as plt ``` The ``` plt.plot(X, Y) ``` plots the data to a canvas in the computer's memory. In the above example: X = [10, 20, 30] Y = [2, 4, 6] ``` plt.plot([10, 20, 30], [2, 4, 6]) ``` * The plt.plot(X, Y) plots the data and stores it in computer's memory. However, it is not yet displayed. The ``` plt.show() ``` displays this plot on the screen. ``` plt.show() ``` #### Output ![example1.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549193/owbqfy0khpd9uctqlayw.png) The chart window has several options : * To zoom on certain area of the chart click on ![magnifing.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516706968/m2s5ovp14siha68b0xvn.png) icon and select the area to zoom. The X and Y values are displayed at the bottom-right corner. * To changes several aspects of chart like left, right, top and bottom padding, click on ![filter.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516706990/mbl9fgl2nvcm5pv23tnq.png) icon and use the slider to change the values. * To save the chart, click on ![save.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516707006/mupaqtndzrn5fe0t9kro.png) icon and select the location to save the file. ![filer_example1.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549307/vqlrre2pfhxtgqtlu9si.gif) #### Adding Chart Title and labels * To add a title to the chart, use ``` plt.title(<Title of the chart>) ``` . ``` plt.title("This is example-2") ``` * To add a label to X-axis, use ``` plt.xlabel(<x-axis label name>) ``` . ``` plt.xlabel("X-values") ``` * To add a label to Y-axis, use ``` plt.ylabel(<y-axis label name>) ``` . ``` plt.ylabel("Y-values") ``` #### Code with X and Y labels and chart title ![example2_code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549410/vjdm74aqaqsanagy1z0h.png) #### Output ![example2.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549420/bf9k8r2lq3y0c0junwps.png) #### Set Limits on X and Y axis Use ``` axis() ``` function to set limit on x and y axis . The syntax is ``` plt.axis(xmin, xmax, ymin, ymax) ```. ![example3_code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516551029/wl1cemtziqlti3bgb0nn.png) In above code we have set xmin = 10, xmax = 40, ymin = 5, ymax = 15 Output : ![example3.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516551058/hbbomsurwx3b405rrsih.png) Notice since the max limit on x axis is set to 40, the value for x=50 is not plotted. #### Changing line color and type The ``` plot() ``` function accepts a third argument which represents the color and type. By default, it is represented by a solid blue line. The syntax is mentioned below : ``` plt.plot([X-values], [Y-values], 'b-' ``` ![example4_code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516693532/cvjjwociadxexoo0i2yv.png) In the above code : 'go' represents a green dotted 'rs' represents a red square 'b^' represents a blue triange 'y--' represents a yellow dashes Output: ![example4.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516694239/u4m6umaxtfzkq6s7xk2f.png) ## Creating Bar Charts Bar charts are created using ``` bar() ``` function. ![bar_chart_1-code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696212/ncplctlpoe48if8o7hoh.png) In the above code, the ``` plt.bar(x, y, alpha=0.8) ``` creates a bar chart based on values of x and y. ``` alpha=0.8 ``` represents the opacity of the bar. The value of alpha ranges from 0 to 1. Output ![bar_chart_1.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696492/gmbj5utvsiv4vupk97t2.png) The ``` barh() ``` function creates a horizontal bar chart. ``` barh(x, y, alpha=0.8) ``` ![bar_chart_2-code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696617/kt21hnp1yw6fsf6zke9w.png) Output ![bar_chart_2.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696636/dl4wkz3ubkkyeri1nzux.png) ## Creating Pie Charts We can create pie chart using ``` pie() ``` function. ![pie-chart-code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516701384/dlcxt0hgowjdsed9xc2n.png) The above code, creates a pie chart based on the value of each ``` items ```. The area of whole chart represents 100% of data. The parts of the pie chart are called wedges. The area of wedges represents the percentage of each item with respect to the whole data. By default the pie() function arranges the wedges in counter clockwise direction. ``` autopct ``` parameter controls how the percentages are displayed in the wedges. By default, the pie chart is in oval shape. To make it circular, we use ``` plt.axis('equal') ```. ![pie-chart.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516702126/ovzedautp551bqypotgn.png) ## Creating Donut Charts To create a donut chart, we first create a pie chart and impose a white circle on top of it which makes it look like a donut. The below code creates a white circle. ``` my_circle = plt.Circle((0, 0), 0.7, color='white') ``` ``` p = plt.gcf() ``` ``` p.gca().add_artist(my_circle) ``` Full code to create a donut. ![donut-code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516703400/evmsitknqx5wupusklht.png) Output ![donut.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516703501/goi0ry2ckzuoa9p8rlf8.png) I have covered few basic charts that can be created using Matplotlib. There are several advance charts that can be created with this awesome tool which are used for data analysis and machine learning.I'll cover few of them in my next Matplotlib tutorial. <br /><hr/><em>Posted on <a href="https://utopian.io/utopian-io/@rohancmr/data-visualization-using-python-s-matplotlib-library">Utopian.io - Rewarding Open Source Contributors</a></em><hr/>
json metadata{"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"id":1385122,"name":"matplotlib","full_name":"matplotlib/matplotlib","html_url":"https://github.com/matplotlib/matplotlib","fork":false,"owner":{"login":"matplotlib"}},"pullRequests":[],"platform":"github","type":"tutorials","tags":["utopian-io","matplotlib","python","charts","data-visualization"],"links":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549765/scafbhifl0win5wtcqtz.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549094/tv25qbujyhbsyuasbsm4.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549119/ish5vr0z5uqflbcriout.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549193/owbqfy0khpd9uctqlayw.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516706968/m2s5ovp14siha68b0xvn.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516706990/mbl9fgl2nvcm5pv23tnq.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516707006/mupaqtndzrn5fe0t9kro.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549307/vqlrre2pfhxtgqtlu9si.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549410/vjdm74aqaqsanagy1z0h.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549420/bf9k8r2lq3y0c0junwps.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516551029/wl1cemtziqlti3bgb0nn.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516551058/hbbomsurwx3b405rrsih.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516693532/cvjjwociadxexoo0i2yv.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516694239/u4m6umaxtfzkq6s7xk2f.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696212/ncplctlpoe48if8o7hoh.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696492/gmbj5utvsiv4vupk97t2.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696617/kt21hnp1yw6fsf6zke9w.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696636/dl4wkz3ubkkyeri1nzux.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516701384/dlcxt0hgowjdsed9xc2n.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516702126/ovzedautp551bqypotgn.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516703400/evmsitknqx5wupusklht.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516703501/goi0ry2ckzuoa9p8rlf8.png"],"image":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549765/scafbhifl0win5wtcqtz.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549094/tv25qbujyhbsyuasbsm4.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549119/ish5vr0z5uqflbcriout.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549193/owbqfy0khpd9uctqlayw.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516706968/m2s5ovp14siha68b0xvn.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516706990/mbl9fgl2nvcm5pv23tnq.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516707006/mupaqtndzrn5fe0t9kro.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549307/vqlrre2pfhxtgqtlu9si.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549410/vjdm74aqaqsanagy1z0h.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549420/bf9k8r2lq3y0c0junwps.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516551029/wl1cemtziqlti3bgb0nn.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516551058/hbbomsurwx3b405rrsih.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516693532/cvjjwociadxexoo0i2yv.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516694239/u4m6umaxtfzkq6s7xk2f.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696212/ncplctlpoe48if8o7hoh.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696492/gmbj5utvsiv4vupk97t2.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696617/kt21hnp1yw6fsf6zke9w.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696636/dl4wkz3ubkkyeri1nzux.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516701384/dlcxt0hgowjdsed9xc2n.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516702126/ovzedautp551bqypotgn.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516703400/evmsitknqx5wupusklht.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516703501/goi0ry2ckzuoa9p8rlf8.png"],"moderator":{"account":"manishmike10","time":"2018-01-24T15:10:21.232Z","reviewed":true,"pending":false,"flagged":false}}
Transaction InfoBlock #19261535/Trx 372a77b0a48b6be420b982df3e2d41bbb3f32e43
View Raw JSON Data
{
  "trx_id": "372a77b0a48b6be420b982df3e2d41bbb3f32e43",
  "block": 19261535,
  "trx_in_block": 20,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-24T15:10:21",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "utopian-io",
      "author": "rohancmr",
      "permlink": "data-visualization-using-python-s-matplotlib-library",
      "title": "Data Visualization using Python's Matplotlib Library",
      "body": "![800px-Matplotlib_logo.svg.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549765/scafbhifl0win5wtcqtz.png)\n\n\n\nMatplotlib is an open source Python plotting library. It is written by John D.Hunter and has an active development community. \nMatplotlib produces publication quality figures in Python scripts, IPython shell, Jupyter notebook, web applications and several gui toolkits. Using this we can generate variety of charts like plots, histograms, barcharts, scatter plots, error plots etc.\nOne of the most popular used case of Matplotlib is for data analysis and visulation.  \n\nIn this tutorial, I'll show how we can use Matplotlib for creating line charts, bar charts, pie charts and donut charts.\n\n## What this tutorial covers ?\n\n\n\n\n## Difficulty\n\n* Basic\n\n## Installation\n\nMatplotlib requires pyparsing, cycler, numpy and pytz libraries for installation. Matplotlib and all of its dependencies can be installed using ``` pip ```.\n\n``` pip install matplotlib ```\n\nVerify if it is properly installed by importing matplotlib.\n\n``` import matplotlib ```\n\n\n![install.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549094/tv25qbujyhbsyuasbsm4.gif)\n\n\n\n## Creating a Line Charts\n\nThe below three line of code generates a simple line chart.\n\n![example1_code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549119/ish5vr0z5uqflbcriout.png)\n\n\n\n\n\n* In the above code we import ``` matplotlib.pyplot ``` module as ``` plt ``` for plotting the chart.\n\n``` import matplotlib.pyplot as plt ```\n\nThe ``` plt.plot(X, Y) ``` plots the data to a canvas in the computer's memory. \n\nIn the above example:\nX = [10, 20, 30]\nY = [2, 4, 6]\n\n``` plt.plot([10, 20, 30], [2, 4, 6]) ```\n\n* The plt.plot(X, Y) plots the data and stores it in computer's memory. However, it is not yet displayed. The ``` plt.show() ``` displays this plot on the screen.\n\n``` plt.show() ```\n\n#### Output\n\n\n![example1.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549193/owbqfy0khpd9uctqlayw.png)\n\n\n\n\nThe chart window has several options :\n\n* To zoom on certain area of the chart click on         ![magnifing.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516706968/m2s5ovp14siha68b0xvn.png)  icon and select the area to zoom. The X and Y values are displayed at the bottom-right corner.\n\n* To changes several aspects of chart like left, right, top and bottom padding, click on      ![filter.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516706990/mbl9fgl2nvcm5pv23tnq.png) icon and use the slider to change the values.\n\n* To save the chart, click on        ![save.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516707006/mupaqtndzrn5fe0t9kro.png) icon and select the location to save the file.\n\n\n\n\n![filer_example1.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549307/vqlrre2pfhxtgqtlu9si.gif)\n\n\n\n#### Adding Chart Title and labels\n\n* To add a title to the chart, use ``` plt.title(<Title of the chart>) ``` .\n\n``` plt.title(\"This is example-2\") ```\n\n* To add a label to X-axis, use ``` plt.xlabel(<x-axis label name>) ``` .\n\n``` plt.xlabel(\"X-values\") ```\n\n* To add a label to Y-axis, use ``` plt.ylabel(<y-axis label name>) ``` .\n\n``` plt.ylabel(\"Y-values\") ```\n\n\n\n\n#### Code with X and Y labels and chart title\n\n![example2_code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549410/vjdm74aqaqsanagy1z0h.png)\n\n\n\n\n#### Output\n\n\n![example2.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549420/bf9k8r2lq3y0c0junwps.png)\n\n\n#### Set Limits on X and Y axis\n\nUse ``` axis() ``` function to set limit on x and y axis . The syntax is ``` plt.axis(xmin, xmax, ymin, ymax) ```.\n\n\n![example3_code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516551029/wl1cemtziqlti3bgb0nn.png)\n\nIn above code we have set  xmin = 10,  xmax = 40,  ymin = 5,  ymax = 15\n\nOutput :\n\n![example3.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516551058/hbbomsurwx3b405rrsih.png)\n\nNotice since the max limit on x axis is set to 40, the value for x=50 is not plotted.\n\n#### Changing line color and type\n\nThe ``` plot() ``` function accepts a third argument which represents the color and type. By default, it is represented by a solid blue line. The syntax is mentioned below :\n\n``` plt.plot([X-values], [Y-values], 'b-'  ```\n\n![example4_code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516693532/cvjjwociadxexoo0i2yv.png)\n \nIn the above code :\n'go' represents a green dotted\n'rs' represents a red square\n'b^' represents a blue triange\n'y--' represents a yellow dashes\n\nOutput:\n\n![example4.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516694239/u4m6umaxtfzkq6s7xk2f.png)\n\n## Creating Bar Charts\n\nBar charts are created using ``` bar() ``` function.\n\n![bar_chart_1-code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696212/ncplctlpoe48if8o7hoh.png)\n\nIn the above code, the ``` plt.bar(x, y, alpha=0.8) ``` creates a bar chart based on values of x and y. \n``` alpha=0.8 ``` represents the opacity of the bar. The value of alpha ranges from 0 to 1.\n\nOutput\n![bar_chart_1.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696492/gmbj5utvsiv4vupk97t2.png)\n\nThe ``` barh() ``` function creates a horizontal bar chart.\n\n``` barh(x, y, alpha=0.8) ```\n\n![bar_chart_2-code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696617/kt21hnp1yw6fsf6zke9w.png)\n\nOutput\n\n![bar_chart_2.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696636/dl4wkz3ubkkyeri1nzux.png)\n\n## Creating Pie Charts\n\nWe can create pie chart using ``` pie() ``` function.\n\n![pie-chart-code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516701384/dlcxt0hgowjdsed9xc2n.png)\n\nThe above code, creates a pie chart based on the value of each ``` items ```.\nThe area of whole chart represents 100% of data. The parts of the pie chart are called wedges. The area of wedges represents the percentage of each item with respect to the whole data.\nBy default the pie() function arranges the wedges in counter clockwise direction.\n\n``` autopct ``` parameter controls how the percentages are displayed in the wedges. \n\nBy default, the pie chart is in oval shape. To make it circular, we use ``` plt.axis('equal') ```.\n\n![pie-chart.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516702126/ovzedautp551bqypotgn.png)\n\n## Creating Donut Charts\n\nTo create a donut chart, we first create a pie chart and impose a white circle on top of it which makes it look like a donut. \n\nThe below code creates a white circle.\n\n``` my_circle = plt.Circle((0, 0), 0.7, color='white') ```\n``` p = plt.gcf() ```\n``` p.gca().add_artist(my_circle) ```\n\nFull code to create a donut.\n\n![donut-code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516703400/evmsitknqx5wupusklht.png)\n\nOutput\n\n![donut.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516703501/goi0ry2ckzuoa9p8rlf8.png)\n\nI have covered few basic charts that can be created using Matplotlib. There are several advance charts that can be created with this awesome tool which are used for data analysis and machine learning.I'll cover few of them in my next Matplotlib tutorial.\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n<br /><hr/><em>Posted on <a href=\"https://utopian.io/utopian-io/@rohancmr/data-visualization-using-python-s-matplotlib-library\">Utopian.io -  Rewarding Open Source Contributors</a></em><hr/>",
      "json_metadata": "{\"community\":\"utopian\",\"app\":\"utopian/1.0.0\",\"format\":\"markdown\",\"repository\":{\"id\":1385122,\"name\":\"matplotlib\",\"full_name\":\"matplotlib/matplotlib\",\"html_url\":\"https://github.com/matplotlib/matplotlib\",\"fork\":false,\"owner\":{\"login\":\"matplotlib\"}},\"pullRequests\":[],\"platform\":\"github\",\"type\":\"tutorials\",\"tags\":[\"utopian-io\",\"matplotlib\",\"python\",\"charts\",\"data-visualization\"],\"links\":[\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549765/scafbhifl0win5wtcqtz.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549094/tv25qbujyhbsyuasbsm4.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549119/ish5vr0z5uqflbcriout.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549193/owbqfy0khpd9uctqlayw.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516706968/m2s5ovp14siha68b0xvn.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516706990/mbl9fgl2nvcm5pv23tnq.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516707006/mupaqtndzrn5fe0t9kro.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549307/vqlrre2pfhxtgqtlu9si.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549410/vjdm74aqaqsanagy1z0h.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549420/bf9k8r2lq3y0c0junwps.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516551029/wl1cemtziqlti3bgb0nn.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516551058/hbbomsurwx3b405rrsih.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516693532/cvjjwociadxexoo0i2yv.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516694239/u4m6umaxtfzkq6s7xk2f.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696212/ncplctlpoe48if8o7hoh.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696492/gmbj5utvsiv4vupk97t2.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696617/kt21hnp1yw6fsf6zke9w.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696636/dl4wkz3ubkkyeri1nzux.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516701384/dlcxt0hgowjdsed9xc2n.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516702126/ovzedautp551bqypotgn.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516703400/evmsitknqx5wupusklht.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516703501/goi0ry2ckzuoa9p8rlf8.png\"],\"image\":[\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549765/scafbhifl0win5wtcqtz.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549094/tv25qbujyhbsyuasbsm4.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549119/ish5vr0z5uqflbcriout.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549193/owbqfy0khpd9uctqlayw.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516706968/m2s5ovp14siha68b0xvn.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516706990/mbl9fgl2nvcm5pv23tnq.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516707006/mupaqtndzrn5fe0t9kro.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549307/vqlrre2pfhxtgqtlu9si.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549410/vjdm74aqaqsanagy1z0h.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549420/bf9k8r2lq3y0c0junwps.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516551029/wl1cemtziqlti3bgb0nn.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516551058/hbbomsurwx3b405rrsih.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516693532/cvjjwociadxexoo0i2yv.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516694239/u4m6umaxtfzkq6s7xk2f.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696212/ncplctlpoe48if8o7hoh.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696492/gmbj5utvsiv4vupk97t2.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696617/kt21hnp1yw6fsf6zke9w.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696636/dl4wkz3ubkkyeri1nzux.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516701384/dlcxt0hgowjdsed9xc2n.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516702126/ovzedautp551bqypotgn.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516703400/evmsitknqx5wupusklht.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516703501/goi0ry2ckzuoa9p8rlf8.png\"],\"moderator\":{\"account\":\"manishmike10\",\"time\":\"2018-01-24T15:10:21.232Z\",\"reviewed\":true,\"pending\":false,\"flagged\":false}}"
    }
  ]
}
2018/01/24 08:28:03
authorrohancmr
permlinkre-favcau-holdit-a-simple-cryptocurrency-monitor-20180117t082802663z
sbd payout0.008 SBD
steem payout0.000 STEEM
vesting payout4.093657 VESTS
Transaction InfoBlock #19253488/Virtual Operation #21
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 19253488,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 21,
  "timestamp": "2018-01-24T08:28:03",
  "op": [
    "author_reward",
    {
      "author": "rohancmr",
      "permlink": "re-favcau-holdit-a-simple-cryptocurrency-monitor-20180117t082802663z",
      "sbd_payout": "0.008 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "4.093657 VESTS"
    }
  ]
}
rohancmrreceived 0.003 SP curation reward for @favcau / holdit-a-simple-cryptocurrency-monitor
2018/01/24 05:23:42
curatorrohancmr
reward4.093683 VESTS
comment authorfavcau
comment permlinkholdit-a-simple-cryptocurrency-monitor
Transaction InfoBlock #19249803/Virtual Operation #22
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 19249803,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 22,
  "timestamp": "2018-01-24T05:23:42",
  "op": [
    "curation_reward",
    {
      "curator": "rohancmr",
      "reward": "4.093683 VESTS",
      "comment_author": "favcau",
      "comment_permlink": "holdit-a-simple-cryptocurrency-monitor"
    }
  ]
}
rohancmrreceived 0.003 SP curation reward for @blervin / install-mysql-on-windows-in-ubuntu
2018/01/23 20:06:24
curatorrohancmr
reward4.093764 VESTS
comment authorblervin
comment permlinkinstall-mysql-on-windows-in-ubuntu
Transaction InfoBlock #19238663/Virtual Operation #12
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 19238663,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 12,
  "timestamp": "2018-01-23T20:06:24",
  "op": [
    "curation_reward",
    {
      "curator": "rohancmr",
      "reward": "4.093764 VESTS",
      "comment_author": "blervin",
      "comment_permlink": "install-mysql-on-windows-in-ubuntu"
    }
  ]
}
2018/01/23 12:34:33
voterrohancmr
authorrohancmr
permlinkdata-visualization-using-python-s-matplotlib-library
weight10000 (100.00%)
Transaction InfoBlock #19229633/Trx e4cf36df7e60c812bdb4911b25cc5f5eff3301a2
View Raw JSON Data
{
  "trx_id": "e4cf36df7e60c812bdb4911b25cc5f5eff3301a2",
  "block": 19229633,
  "trx_in_block": 22,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-23T12:34:33",
  "op": [
    "vote",
    {
      "voter": "rohancmr",
      "author": "rohancmr",
      "permlink": "data-visualization-using-python-s-matplotlib-library",
      "weight": 10000
    }
  ]
}
2018/01/23 11:57:36
authorrohancmr
permlinkdata-visualization-using-python-s-matplotlib-library
max accepted payout1000000.000 SBD
percent steem dollars10000
allow votestrue
allow curation rewardstrue
extensions[[0,{"beneficiaries":[{"account":"utopian.pay","weight":2500}]}]]
Transaction InfoBlock #19228894/Trx 02537e671aee7e084be3c9881f14422e24c7841b
View Raw JSON Data
{
  "trx_id": "02537e671aee7e084be3c9881f14422e24c7841b",
  "block": 19228894,
  "trx_in_block": 49,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-23T11:57:36",
  "op": [
    "comment_options",
    {
      "author": "rohancmr",
      "permlink": "data-visualization-using-python-s-matplotlib-library",
      "max_accepted_payout": "1000000.000 SBD",
      "percent_steem_dollars": 10000,
      "allow_votes": true,
      "allow_curation_rewards": true,
      "extensions": [
        [
          0,
          {
            "beneficiaries": [
              {
                "account": "utopian.pay",
                "weight": 2500
              }
            ]
          }
        ]
      ]
    }
  ]
}
2018/01/23 11:57:36
parent author
parent permlinkutopian-io
authorrohancmr
permlinkdata-visualization-using-python-s-matplotlib-library
titleData Visualization using Python's Matplotlib Library
body![800px-Matplotlib_logo.svg.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549765/scafbhifl0win5wtcqtz.png) Matplotlib is an open source Python plotting library. It is written by John D.Hunter and has an active development community. Matplotlib produces publication quality figures in Python scripts, IPython shell, Jupyter notebook, web applications and several gui toolkits. Using this we can generate variety of charts like plots, histograms, barcharts, scatter plots, error plots etc. One of the most popular used case of Matplotlib is for data analysis and visulation. In this tutorial, I'll show how we can use Matplotlib for creating line charts, bar charts, pie charts and donut charts. ## What this tutorial covers ? ## Difficulty * Basic ## Installation Matplotlib requires pyparsing, cycler, numpy and pytz libraries for installation. Matplotlib and all of its dependencies can be installed using ``` pip ```. ``` pip install matplotlib ``` Verify if it is properly installed by importing matplotlib. ``` import matplotlib ``` ![install.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549094/tv25qbujyhbsyuasbsm4.gif) ## Creating a Line Charts The below three line of code generates a simple line chart. ![example1_code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549119/ish5vr0z5uqflbcriout.png) * In the above code we import ``` matplotlib.pyplot ``` module as ``` plt ``` for plotting the chart. ``` import matplotlib.pyplot as plt ``` The ``` plt.plot(X, Y) ``` plots the data to a canvas in the computer's memory. In the above example: X = [10, 20, 30] Y = [2, 4, 6] ``` plt.plot([10, 20, 30], [2, 4, 6]) ``` * The plt.plot(X, Y) plots the data and stores it in computer's memory. However, it is not yet displayed. The ``` plt.show() ``` displays this plot on the screen. ``` plt.show() ``` #### Output ![example1.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549193/owbqfy0khpd9uctqlayw.png) The chart window has several options : * To zoom on certain area of the chart click on ![magnifing.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516706968/m2s5ovp14siha68b0xvn.png) icon and select the area to zoom. The X and Y values are displayed at the bottom-right corner. * To changes several aspects of chart like left, right, top and bottom padding, click on ![filter.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516706990/mbl9fgl2nvcm5pv23tnq.png) icon and use the slider to change the values. * To save the chart, click on ![save.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516707006/mupaqtndzrn5fe0t9kro.png) icon and select the location to save the file. ![filer_example1.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549307/vqlrre2pfhxtgqtlu9si.gif) #### Adding Chart Title and labels * To add a title to the chart, use ``` plt.title(<Title of the chart>) ``` . ``` plt.title("This is example-2") ``` * To add a label to X-axis, use ``` plt.xlabel(<x-axis label name>) ``` . ``` plt.xlabel("X-values") ``` * To add a label to Y-axis, use ``` plt.ylabel(<y-axis label name>) ``` . ``` plt.ylabel("Y-values") ``` #### Code with X and Y labels and chart title ![example2_code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549410/vjdm74aqaqsanagy1z0h.png) #### Output ![example2.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549420/bf9k8r2lq3y0c0junwps.png) #### Set Limits on X and Y axis Use ``` axis() ``` function to set limit on x and y axis . The syntax is ``` plt.axis(xmin, xmax, ymin, ymax) ```. ![example3_code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516551029/wl1cemtziqlti3bgb0nn.png) In above code we have set xmin = 10, xmax = 40, ymin = 5, ymax = 15 Output : ![example3.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516551058/hbbomsurwx3b405rrsih.png) Notice since the max limit on x axis is set to 40, the value for x=50 is not plotted. #### Changing line color and type The ``` plot() ``` function accepts a third argument which represents the color and type. By default, it is represented by a solid blue line. The syntax is mentioned below : ``` plt.plot([X-values], [Y-values], 'b-' ``` ![example4_code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516693532/cvjjwociadxexoo0i2yv.png) In the above code : 'go' represents a green dotted 'rs' represents a red square 'b^' represents a blue triange 'y--' represents a yellow dashes Output: ![example4.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516694239/u4m6umaxtfzkq6s7xk2f.png) ## Creating Bar Charts Bar charts are created using ``` bar() ``` function. ![bar_chart_1-code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696212/ncplctlpoe48if8o7hoh.png) In the above code, the ``` plt.bar(x, y, alpha=0.8) ``` creates a bar chart based on values of x and y. ``` alpha=0.8 ``` represents the opacity of the bar. The value of alpha ranges from 0 to 1. Output ![bar_chart_1.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696492/gmbj5utvsiv4vupk97t2.png) The ``` barh() ``` function creates a horizontal bar chart. ``` barh(x, y, alpha=0.8) ``` ![bar_chart_2-code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696617/kt21hnp1yw6fsf6zke9w.png) Output ![bar_chart_2.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696636/dl4wkz3ubkkyeri1nzux.png) ## Creating Pie Charts We can create pie chart using ``` pie() ``` function. ![pie-chart-code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516701384/dlcxt0hgowjdsed9xc2n.png) The above code, creates a pie chart based on the value of each ``` items ```. The area of whole chart represents 100% of data. The parts of the pie chart are called wedges. The area of wedges represents the percentage of each item with respect to the whole data. By default the pie() function arranges the wedges in counter clockwise direction. ``` autopct ``` parameter controls how the percentages are displayed in the wedges. By default, the pie chart is in oval shape. To make it circular, we use ``` plt.axis('equal') ```. ![pie-chart.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516702126/ovzedautp551bqypotgn.png) ## Creating Donut Charts To create a donut chart, we first create a pie chart and impose a white circle on top of it which makes it look like a donut. The below code creates a white circle. ``` my_circle = plt.Circle((0, 0), 0.7, color='white') ``` ``` p = plt.gcf() ``` ``` p.gca().add_artist(my_circle) ``` Full code to create a donut. ![donut-code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516703400/evmsitknqx5wupusklht.png) Output ![donut.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516703501/goi0ry2ckzuoa9p8rlf8.png) I have covered few basic charts that can be created using Matplotlib. There are several advance charts that can be created with this awesome tool which are used for data analysis and machine learning.I'll cover few of them in my next Matplotlib tutorial. <br /><hr/><em>Posted on <a href="https://utopian.io/utopian-io/@rohancmr/data-visualization-using-python-s-matplotlib-library">Utopian.io - Rewarding Open Source Contributors</a></em><hr/>
json metadata{"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"id":1385122,"name":"matplotlib","full_name":"matplotlib/matplotlib","html_url":"https://github.com/matplotlib/matplotlib","fork":false,"owner":{"login":"matplotlib"}},"pullRequests":[],"platform":"github","type":"tutorials","tags":["utopian-io","matplotlib","python","charts","data-visualization"],"links":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549765/scafbhifl0win5wtcqtz.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549094/tv25qbujyhbsyuasbsm4.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549119/ish5vr0z5uqflbcriout.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549193/owbqfy0khpd9uctqlayw.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516706968/m2s5ovp14siha68b0xvn.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516706990/mbl9fgl2nvcm5pv23tnq.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516707006/mupaqtndzrn5fe0t9kro.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549307/vqlrre2pfhxtgqtlu9si.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549410/vjdm74aqaqsanagy1z0h.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549420/bf9k8r2lq3y0c0junwps.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516551029/wl1cemtziqlti3bgb0nn.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516551058/hbbomsurwx3b405rrsih.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516693532/cvjjwociadxexoo0i2yv.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516694239/u4m6umaxtfzkq6s7xk2f.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696212/ncplctlpoe48if8o7hoh.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696492/gmbj5utvsiv4vupk97t2.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696617/kt21hnp1yw6fsf6zke9w.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696636/dl4wkz3ubkkyeri1nzux.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516701384/dlcxt0hgowjdsed9xc2n.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516702126/ovzedautp551bqypotgn.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516703400/evmsitknqx5wupusklht.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516703501/goi0ry2ckzuoa9p8rlf8.png"],"image":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549765/scafbhifl0win5wtcqtz.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549094/tv25qbujyhbsyuasbsm4.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549119/ish5vr0z5uqflbcriout.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549193/owbqfy0khpd9uctqlayw.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516706968/m2s5ovp14siha68b0xvn.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516706990/mbl9fgl2nvcm5pv23tnq.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516707006/mupaqtndzrn5fe0t9kro.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549307/vqlrre2pfhxtgqtlu9si.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549410/vjdm74aqaqsanagy1z0h.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549420/bf9k8r2lq3y0c0junwps.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516551029/wl1cemtziqlti3bgb0nn.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516551058/hbbomsurwx3b405rrsih.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516693532/cvjjwociadxexoo0i2yv.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516694239/u4m6umaxtfzkq6s7xk2f.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696212/ncplctlpoe48if8o7hoh.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696492/gmbj5utvsiv4vupk97t2.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696617/kt21hnp1yw6fsf6zke9w.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696636/dl4wkz3ubkkyeri1nzux.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516701384/dlcxt0hgowjdsed9xc2n.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516702126/ovzedautp551bqypotgn.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516703400/evmsitknqx5wupusklht.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516703501/goi0ry2ckzuoa9p8rlf8.png"]}
Transaction InfoBlock #19228894/Trx 02537e671aee7e084be3c9881f14422e24c7841b
View Raw JSON Data
{
  "trx_id": "02537e671aee7e084be3c9881f14422e24c7841b",
  "block": 19228894,
  "trx_in_block": 49,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-23T11:57:36",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "utopian-io",
      "author": "rohancmr",
      "permlink": "data-visualization-using-python-s-matplotlib-library",
      "title": "Data Visualization using Python's Matplotlib Library",
      "body": "![800px-Matplotlib_logo.svg.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549765/scafbhifl0win5wtcqtz.png)\n\n\n\nMatplotlib is an open source Python plotting library. It is written by John D.Hunter and has an active development community. \nMatplotlib produces publication quality figures in Python scripts, IPython shell, Jupyter notebook, web applications and several gui toolkits. Using this we can generate variety of charts like plots, histograms, barcharts, scatter plots, error plots etc.\nOne of the most popular used case of Matplotlib is for data analysis and visulation.  \n\nIn this tutorial, I'll show how we can use Matplotlib for creating line charts, bar charts, pie charts and donut charts.\n\n## What this tutorial covers ?\n\n\n\n\n## Difficulty\n\n* Basic\n\n## Installation\n\nMatplotlib requires pyparsing, cycler, numpy and pytz libraries for installation. Matplotlib and all of its dependencies can be installed using ``` pip ```.\n\n``` pip install matplotlib ```\n\nVerify if it is properly installed by importing matplotlib.\n\n``` import matplotlib ```\n\n\n![install.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549094/tv25qbujyhbsyuasbsm4.gif)\n\n\n\n## Creating a Line Charts\n\nThe below three line of code generates a simple line chart.\n\n![example1_code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549119/ish5vr0z5uqflbcriout.png)\n\n\n\n\n\n* In the above code we import ``` matplotlib.pyplot ``` module as ``` plt ``` for plotting the chart.\n\n``` import matplotlib.pyplot as plt ```\n\nThe ``` plt.plot(X, Y) ``` plots the data to a canvas in the computer's memory. \n\nIn the above example:\nX = [10, 20, 30]\nY = [2, 4, 6]\n\n``` plt.plot([10, 20, 30], [2, 4, 6]) ```\n\n* The plt.plot(X, Y) plots the data and stores it in computer's memory. However, it is not yet displayed. The ``` plt.show() ``` displays this plot on the screen.\n\n``` plt.show() ```\n\n#### Output\n\n\n![example1.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549193/owbqfy0khpd9uctqlayw.png)\n\n\n\n\nThe chart window has several options :\n\n* To zoom on certain area of the chart click on         ![magnifing.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516706968/m2s5ovp14siha68b0xvn.png)  icon and select the area to zoom. The X and Y values are displayed at the bottom-right corner.\n\n* To changes several aspects of chart like left, right, top and bottom padding, click on      ![filter.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516706990/mbl9fgl2nvcm5pv23tnq.png) icon and use the slider to change the values.\n\n* To save the chart, click on        ![save.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516707006/mupaqtndzrn5fe0t9kro.png) icon and select the location to save the file.\n\n\n\n\n![filer_example1.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549307/vqlrre2pfhxtgqtlu9si.gif)\n\n\n\n#### Adding Chart Title and labels\n\n* To add a title to the chart, use ``` plt.title(<Title of the chart>) ``` .\n\n``` plt.title(\"This is example-2\") ```\n\n* To add a label to X-axis, use ``` plt.xlabel(<x-axis label name>) ``` .\n\n``` plt.xlabel(\"X-values\") ```\n\n* To add a label to Y-axis, use ``` plt.ylabel(<y-axis label name>) ``` .\n\n``` plt.ylabel(\"Y-values\") ```\n\n\n\n\n#### Code with X and Y labels and chart title\n\n![example2_code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549410/vjdm74aqaqsanagy1z0h.png)\n\n\n\n\n#### Output\n\n\n![example2.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549420/bf9k8r2lq3y0c0junwps.png)\n\n\n#### Set Limits on X and Y axis\n\nUse ``` axis() ``` function to set limit on x and y axis . The syntax is ``` plt.axis(xmin, xmax, ymin, ymax) ```.\n\n\n![example3_code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516551029/wl1cemtziqlti3bgb0nn.png)\n\nIn above code we have set  xmin = 10,  xmax = 40,  ymin = 5,  ymax = 15\n\nOutput :\n\n![example3.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516551058/hbbomsurwx3b405rrsih.png)\n\nNotice since the max limit on x axis is set to 40, the value for x=50 is not plotted.\n\n#### Changing line color and type\n\nThe ``` plot() ``` function accepts a third argument which represents the color and type. By default, it is represented by a solid blue line. The syntax is mentioned below :\n\n``` plt.plot([X-values], [Y-values], 'b-'  ```\n\n![example4_code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516693532/cvjjwociadxexoo0i2yv.png)\n \nIn the above code :\n'go' represents a green dotted\n'rs' represents a red square\n'b^' represents a blue triange\n'y--' represents a yellow dashes\n\nOutput:\n\n![example4.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516694239/u4m6umaxtfzkq6s7xk2f.png)\n\n## Creating Bar Charts\n\nBar charts are created using ``` bar() ``` function.\n\n![bar_chart_1-code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696212/ncplctlpoe48if8o7hoh.png)\n\nIn the above code, the ``` plt.bar(x, y, alpha=0.8) ``` creates a bar chart based on values of x and y. \n``` alpha=0.8 ``` represents the opacity of the bar. The value of alpha ranges from 0 to 1.\n\nOutput\n![bar_chart_1.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696492/gmbj5utvsiv4vupk97t2.png)\n\nThe ``` barh() ``` function creates a horizontal bar chart.\n\n``` barh(x, y, alpha=0.8) ```\n\n![bar_chart_2-code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696617/kt21hnp1yw6fsf6zke9w.png)\n\nOutput\n\n![bar_chart_2.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696636/dl4wkz3ubkkyeri1nzux.png)\n\n## Creating Pie Charts\n\nWe can create pie chart using ``` pie() ``` function.\n\n![pie-chart-code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516701384/dlcxt0hgowjdsed9xc2n.png)\n\nThe above code, creates a pie chart based on the value of each ``` items ```.\nThe area of whole chart represents 100% of data. The parts of the pie chart are called wedges. The area of wedges represents the percentage of each item with respect to the whole data.\nBy default the pie() function arranges the wedges in counter clockwise direction.\n\n``` autopct ``` parameter controls how the percentages are displayed in the wedges. \n\nBy default, the pie chart is in oval shape. To make it circular, we use ``` plt.axis('equal') ```.\n\n![pie-chart.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516702126/ovzedautp551bqypotgn.png)\n\n## Creating Donut Charts\n\nTo create a donut chart, we first create a pie chart and impose a white circle on top of it which makes it look like a donut. \n\nThe below code creates a white circle.\n\n``` my_circle = plt.Circle((0, 0), 0.7, color='white') ```\n``` p = plt.gcf() ```\n``` p.gca().add_artist(my_circle) ```\n\nFull code to create a donut.\n\n![donut-code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516703400/evmsitknqx5wupusklht.png)\n\nOutput\n\n![donut.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516703501/goi0ry2ckzuoa9p8rlf8.png)\n\nI have covered few basic charts that can be created using Matplotlib. There are several advance charts that can be created with this awesome tool which are used for data analysis and machine learning.I'll cover few of them in my next Matplotlib tutorial.\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n<br /><hr/><em>Posted on <a href=\"https://utopian.io/utopian-io/@rohancmr/data-visualization-using-python-s-matplotlib-library\">Utopian.io -  Rewarding Open Source Contributors</a></em><hr/>",
      "json_metadata": "{\"community\":\"utopian\",\"app\":\"utopian/1.0.0\",\"format\":\"markdown\",\"repository\":{\"id\":1385122,\"name\":\"matplotlib\",\"full_name\":\"matplotlib/matplotlib\",\"html_url\":\"https://github.com/matplotlib/matplotlib\",\"fork\":false,\"owner\":{\"login\":\"matplotlib\"}},\"pullRequests\":[],\"platform\":\"github\",\"type\":\"tutorials\",\"tags\":[\"utopian-io\",\"matplotlib\",\"python\",\"charts\",\"data-visualization\"],\"links\":[\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549765/scafbhifl0win5wtcqtz.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549094/tv25qbujyhbsyuasbsm4.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549119/ish5vr0z5uqflbcriout.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549193/owbqfy0khpd9uctqlayw.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516706968/m2s5ovp14siha68b0xvn.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516706990/mbl9fgl2nvcm5pv23tnq.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516707006/mupaqtndzrn5fe0t9kro.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549307/vqlrre2pfhxtgqtlu9si.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549410/vjdm74aqaqsanagy1z0h.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549420/bf9k8r2lq3y0c0junwps.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516551029/wl1cemtziqlti3bgb0nn.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516551058/hbbomsurwx3b405rrsih.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516693532/cvjjwociadxexoo0i2yv.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516694239/u4m6umaxtfzkq6s7xk2f.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696212/ncplctlpoe48if8o7hoh.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696492/gmbj5utvsiv4vupk97t2.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696617/kt21hnp1yw6fsf6zke9w.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696636/dl4wkz3ubkkyeri1nzux.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516701384/dlcxt0hgowjdsed9xc2n.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516702126/ovzedautp551bqypotgn.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516703400/evmsitknqx5wupusklht.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516703501/goi0ry2ckzuoa9p8rlf8.png\"],\"image\":[\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549765/scafbhifl0win5wtcqtz.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549094/tv25qbujyhbsyuasbsm4.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549119/ish5vr0z5uqflbcriout.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549193/owbqfy0khpd9uctqlayw.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516706968/m2s5ovp14siha68b0xvn.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516706990/mbl9fgl2nvcm5pv23tnq.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516707006/mupaqtndzrn5fe0t9kro.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549307/vqlrre2pfhxtgqtlu9si.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549410/vjdm74aqaqsanagy1z0h.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516549420/bf9k8r2lq3y0c0junwps.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516551029/wl1cemtziqlti3bgb0nn.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516551058/hbbomsurwx3b405rrsih.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516693532/cvjjwociadxexoo0i2yv.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516694239/u4m6umaxtfzkq6s7xk2f.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696212/ncplctlpoe48if8o7hoh.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696492/gmbj5utvsiv4vupk97t2.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696617/kt21hnp1yw6fsf6zke9w.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516696636/dl4wkz3ubkkyeri1nzux.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516701384/dlcxt0hgowjdsed9xc2n.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516702126/ovzedautp551bqypotgn.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516703400/evmsitknqx5wupusklht.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516703501/goi0ry2ckzuoa9p8rlf8.png\"]}"
    }
  ]
}
steemdelegated 11.358 SP to @rohancmr
2018/01/21 05:19:15
delegatorsteem
delegateerohancmr
vesting shares18495.338378 VESTS
Transaction InfoBlock #19163351/Trx 3e210f200cfd73fa5abfa6c798292d12d52baa11
View Raw JSON Data
{
  "trx_id": "3e210f200cfd73fa5abfa6c798292d12d52baa11",
  "block": 19163351,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-21T05:19:15",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "rohancmr",
      "vesting_shares": "18495.338378 VESTS"
    }
  ]
}
rohancmrclaimed reward balance: 10.861 SBD, 3.152 SP
2018/01/21 03:27:45
accountrohancmr
reward steem0.000 STEEM
reward sbd10.861 SBD
reward vests5132.322839 VESTS
Transaction InfoBlock #19161121/Trx db00a0be24d2e2092658743e1fbb613c3622fbbc
View Raw JSON Data
{
  "trx_id": "db00a0be24d2e2092658743e1fbb613c3622fbbc",
  "block": 19161121,
  "trx_in_block": 21,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-21T03:27:45",
  "op": [
    "claim_reward_balance",
    {
      "account": "rohancmr",
      "reward_steem": "0.000 STEEM",
      "reward_sbd": "10.861 SBD",
      "reward_vests": "5132.322839 VESTS"
    }
  ]
}
rohancmrreceived 0.003 SP curation reward for @blervin / explore-the-steem-blockchain-with-heidisql
2018/01/21 03:17:42
curatorrohancmr
reward4.094314 VESTS
comment authorblervin
comment permlinkexplore-the-steem-blockchain-with-heidisql
Transaction InfoBlock #19160920/Virtual Operation #10
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 19160920,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 10,
  "timestamp": "2018-01-21T03:17:42",
  "op": [
    "curation_reward",
    {
      "curator": "rohancmr",
      "reward": "4.094314 VESTS",
      "comment_author": "blervin",
      "comment_permlink": "explore-the-steem-blockchain-with-heidisql"
    }
  ]
}
rohancmrreceived 10.861 SBD, 3.146 SP author reward for @rohancmr / get-and-post-requests-using-python-s-requests-library
2018/01/20 17:51:12
authorrohancmr
permlinkget-and-post-requests-using-python-s-requests-library
sbd payout10.861 SBD
steem payout0.000 STEEM
vesting payout5122.086934 VESTS
Transaction InfoBlock #19149592/Virtual Operation #13
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 19149592,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 13,
  "timestamp": "2018-01-20T17:51:12",
  "op": [
    "author_reward",
    {
      "author": "rohancmr",
      "permlink": "get-and-post-requests-using-python-s-requests-library",
      "sbd_payout": "10.861 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "5122.086934 VESTS"
    }
  ]
}
utopian.payreceived 2.096 SP benefactor reward from @rohancmr
2018/01/20 17:51:12
benefactorutopian.pay
authorrohancmr
permlinkget-and-post-requests-using-python-s-requests-library
sbd payout0.000 SBD
steem payout0.000 STEEM
vesting payout3412.677425 VESTS
Transaction InfoBlock #19149592/Virtual Operation #12
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 19149592,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 12,
  "timestamp": "2018-01-20T17:51:12",
  "op": [
    "comment_benefactor_reward",
    {
      "benefactor": "utopian.pay",
      "author": "rohancmr",
      "permlink": "get-and-post-requests-using-python-s-requests-library",
      "sbd_payout": "0.000 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "3412.677425 VESTS"
    }
  ]
}
2018/01/20 17:51:12
curatorrohancmr
reward6.141591 VESTS
comment authorrohancmr
comment permlinkget-and-post-requests-using-python-s-requests-library
Transaction InfoBlock #19149592/Virtual Operation #11
View Raw JSON Data
{
  "trx_id": "0000000000000000000000000000000000000000",
  "block": 19149592,
  "trx_in_block": 4294967295,
  "op_in_trx": 0,
  "virtual_op": 11,
  "timestamp": "2018-01-20T17:51:12",
  "op": [
    "curation_reward",
    {
      "curator": "rohancmr",
      "reward": "6.141591 VESTS",
      "comment_author": "rohancmr",
      "comment_permlink": "get-and-post-requests-using-python-s-requests-library"
    }
  ]
}
2018/01/18 15:53:09
parent authorrohancmr
parent permlinkquery-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library
authorutopian-io
permlinkre-rohancmr-query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library-20180118t155309410z
title
body### Hey @rohancmr I am @utopian-io. I have just upvoted you! #### Achievements - You have less than 500 followers. Just gave you a gift to help you succeed! - Seems like you contribute quite often. AMAZING! #### Suggestions - Contribute more often to get higher and higher rewards. I wish to see you often! - Work on your followers to increase the votes/rewards. I follow what humans do and my vote is mainly based on that. Good luck! #### Get Noticed! - Did you know project owners can manually vote with their own voting power or by voting power delegated to their projects? Ask the project owner to review your contributions! #### Community-Driven Witness! I am the first and only Steem Community-Driven Witness. <a href="https://discord.gg/zTrEMqB">Participate on Discord</a>. Lets GROW TOGETHER! - <a href="https://v2.steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1">Vote for my Witness With SteemConnect</a> - <a href="https://v2.steemconnect.com/sign/account-witness-proxy?proxy=utopian-io&approve=1">Proxy vote to Utopian Witness with SteemConnect</a> - Or vote/proxy on <a href="https://steemit.com/~witnesses">Steemit Witnesses</a> [![mooncryption-utopian-witness-gif](https://steemitimages.com/DQmYPUuQRptAqNBCQRwQjKWAqWU3zJkL3RXVUtEKVury8up/mooncryption-s-utopian-io-witness-gif.gif)](https://steemit.com/~witnesses) **Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x**
json metadata{"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"}
Transaction InfoBlock #19089670/Trx 1b81e03b3a98a341d25701d54de2af4bc1b0ad6a
View Raw JSON Data
{
  "trx_id": "1b81e03b3a98a341d25701d54de2af4bc1b0ad6a",
  "block": 19089670,
  "trx_in_block": 29,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-18T15:53:09",
  "op": [
    "comment",
    {
      "parent_author": "rohancmr",
      "parent_permlink": "query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library",
      "author": "utopian-io",
      "permlink": "re-rohancmr-query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library-20180118t155309410z",
      "title": "",
      "body": "### Hey @rohancmr I am @utopian-io. I have just upvoted you!\n#### Achievements\n- You have less than 500 followers. Just gave you a gift to help you succeed!\n- Seems like you contribute quite often. AMAZING!\n#### Suggestions\n- Contribute more often to get higher and higher rewards. I wish to see you often!\n- Work on your followers to increase the votes/rewards. I follow what humans do and my vote is mainly based on that. Good luck!\n#### Get Noticed!\n- Did you know project owners can manually vote with their own voting power or by voting power delegated to their projects? Ask the project owner to review your contributions!\n#### Community-Driven Witness!\nI am the first and only Steem Community-Driven Witness. <a href=\"https://discord.gg/zTrEMqB\">Participate on Discord</a>. Lets GROW TOGETHER!\n- <a href=\"https://v2.steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1\">Vote for my Witness With SteemConnect</a>\n- <a href=\"https://v2.steemconnect.com/sign/account-witness-proxy?proxy=utopian-io&approve=1\">Proxy vote to Utopian Witness with SteemConnect</a>\n- Or vote/proxy on <a href=\"https://steemit.com/~witnesses\">Steemit Witnesses</a>\n\n[![mooncryption-utopian-witness-gif](https://steemitimages.com/DQmYPUuQRptAqNBCQRwQjKWAqWU3zJkL3RXVUtEKVury8up/mooncryption-s-utopian-io-witness-gif.gif)](https://steemit.com/~witnesses)\n\n**Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x**",
      "json_metadata": "{\"tags\":[\"utopian-io\"],\"community\":\"utopian\",\"app\":\"utopian/1.0.0\"}"
    }
  ]
}
2018/01/18 15:53:06
voterutopian-io
authorrohancmr
permlinkquery-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library
weight252 (2.52%)
Transaction InfoBlock #19089669/Trx da68b910626cb9ded1042ccd563c1a90146463a1
View Raw JSON Data
{
  "trx_id": "da68b910626cb9ded1042ccd563c1a90146463a1",
  "block": 19089669,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-18T15:53:06",
  "op": [
    "vote",
    {
      "voter": "utopian-io",
      "author": "rohancmr",
      "permlink": "query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library",
      "weight": 252
    }
  ]
}
2018/01/18 12:23:30
voterdroucil
authorrohancmr
permlinkquery-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library
weight10000 (100.00%)
Transaction InfoBlock #19085480/Trx bcff92b0bac6462d08cc8328bd57f4b4f010d934
View Raw JSON Data
{
  "trx_id": "bcff92b0bac6462d08cc8328bd57f4b4f010d934",
  "block": 19085480,
  "trx_in_block": 50,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-18T12:23:30",
  "op": [
    "vote",
    {
      "voter": "droucil",
      "author": "rohancmr",
      "permlink": "query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library",
      "weight": 10000
    }
  ]
}
2018/01/18 09:33:15
votersupreme-verdict
authorrohancmr
permlinkquery-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library
weight10000 (100.00%)
Transaction InfoBlock #19082079/Trx fa2ec6f02716cd1bbd1f0c8e41723f6fb128c623
View Raw JSON Data
{
  "trx_id": "fa2ec6f02716cd1bbd1f0c8e41723f6fb128c623",
  "block": 19082079,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-18T09:33:15",
  "op": [
    "vote",
    {
      "voter": "supreme-verdict",
      "author": "rohancmr",
      "permlink": "query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library",
      "weight": 10000
    }
  ]
}
2018/01/18 08:54:51
votercrokkon
authorrohancmr
permlinkquery-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library
weight10000 (100.00%)
Transaction InfoBlock #19081312/Trx aa45d053c628cc2bbf24ad3da568671afb623c15
View Raw JSON Data
{
  "trx_id": "aa45d053c628cc2bbf24ad3da568671afb623c15",
  "block": 19081312,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-18T08:54:51",
  "op": [
    "vote",
    {
      "voter": "crokkon",
      "author": "rohancmr",
      "permlink": "query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library",
      "weight": 10000
    }
  ]
}
2018/01/18 07:07:15
voterleir
authorrohancmr
permlinkquery-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library
weight9700 (97.00%)
Transaction InfoBlock #19079162/Trx 4af1a22bfb28bd38db45339fa8d2a9fd1f16dd22
View Raw JSON Data
{
  "trx_id": "4af1a22bfb28bd38db45339fa8d2a9fd1f16dd22",
  "block": 19079162,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-18T07:07:15",
  "op": [
    "vote",
    {
      "voter": "leir",
      "author": "rohancmr",
      "permlink": "query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library",
      "weight": 9700
    }
  ]
}
2018/01/18 05:45:36
voterthegrandestine
authorrohancmr
permlinkquery-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library
weight10000 (100.00%)
Transaction InfoBlock #19077531/Trx 2d72dd5a812de11b98a2b9a60f18c1d446ff4650
View Raw JSON Data
{
  "trx_id": "2d72dd5a812de11b98a2b9a60f18c1d446ff4650",
  "block": 19077531,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-18T05:45:36",
  "op": [
    "vote",
    {
      "voter": "thegrandestine",
      "author": "rohancmr",
      "permlink": "query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library",
      "weight": 10000
    }
  ]
}
2018/01/18 05:35:24
voteralphacore
authorrohancmr
permlinkquery-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library
weight2900 (29.00%)
Transaction InfoBlock #19077327/Trx 1a3fdd4f96f08be468f02af7d9ea8fa9ed7a45bf
View Raw JSON Data
{
  "trx_id": "1a3fdd4f96f08be468f02af7d9ea8fa9ed7a45bf",
  "block": 19077327,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-18T05:35:24",
  "op": [
    "vote",
    {
      "voter": "alphacore",
      "author": "rohancmr",
      "permlink": "query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library",
      "weight": 2900
    }
  ]
}
2018/01/18 05:31:21
voterretrocausality
authorrohancmr
permlinkquery-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library
weight10000 (100.00%)
Transaction InfoBlock #19077247/Trx d214354644b32c1e5ce51efc9c9d2c74132aafd6
View Raw JSON Data
{
  "trx_id": "d214354644b32c1e5ce51efc9c9d2c74132aafd6",
  "block": 19077247,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-18T05:31:21",
  "op": [
    "vote",
    {
      "voter": "retrocausality",
      "author": "rohancmr",
      "permlink": "query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library",
      "weight": 10000
    }
  ]
}
2018/01/18 03:08:21
parent authorrohancmr
parent permlinkre-rohancmr-query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library-20180118t025516005z
authororiginalworks
permlinkre-re-rohancmr-query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library-20180118t025516005z-20180118t030820
titleoriginalworks
bodyThe @OriginalWorks bot has determined this post by @rohancmr to be original material and upvoted it! <center>![ezgif.com-resize.gif](https://steemitimages.com/DQmaBi37A5oTnQ9NBLH8YU4jpvhhmFauyvgg3YRrEJwskM9/ezgif.com-resize.gif)</center> To call @OriginalWorks, simply reply to any post with @originalworks or !originalworks in your message! <center>*Please note that this is a BETA version. Feel free to leave a reply if you feel this is an error to help improve accuracy.*</center>
json metadata{"app": "pysteem/0.5.4"}
Transaction InfoBlock #19074388/Trx 58d5b66ed667620e09cb9605cff1f595a0cfbadc
View Raw JSON Data
{
  "trx_id": "58d5b66ed667620e09cb9605cff1f595a0cfbadc",
  "block": 19074388,
  "trx_in_block": 20,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-18T03:08:21",
  "op": [
    "comment",
    {
      "parent_author": "rohancmr",
      "parent_permlink": "re-rohancmr-query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library-20180118t025516005z",
      "author": "originalworks",
      "permlink": "re-re-rohancmr-query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library-20180118t025516005z-20180118t030820",
      "title": "originalworks",
      "body": "The @OriginalWorks bot has determined this post by @rohancmr to be original material and upvoted it! \n<center>![ezgif.com-resize.gif](https://steemitimages.com/DQmaBi37A5oTnQ9NBLH8YU4jpvhhmFauyvgg3YRrEJwskM9/ezgif.com-resize.gif)</center> \n\nTo call @OriginalWorks, simply reply to any post with @originalworks or !originalworks in your message! \n <center>*Please note that this is a BETA version. Feel free to leave a reply if you feel this is an error to help improve accuracy.*</center> ",
      "json_metadata": "{\"app\": \"pysteem/0.5.4\"}"
    }
  ]
}
2018/01/18 03:08:18
voteroriginalworks
authorrohancmr
permlinkquery-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library
weight100 (1.00%)
Transaction InfoBlock #19074387/Trx b2b17d9e728a838e9d66b45edf228545909bc263
View Raw JSON Data
{
  "trx_id": "b2b17d9e728a838e9d66b45edf228545909bc263",
  "block": 19074387,
  "trx_in_block": 30,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-18T03:08:18",
  "op": [
    "vote",
    {
      "voter": "originalworks",
      "author": "rohancmr",
      "permlink": "query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library",
      "weight": 100
    }
  ]
}
2018/01/18 02:55:48
voterrohancmr
authorfuzeh
permlinkre-rohancmr-query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library-20180117t222729952z
weight10000 (100.00%)
Transaction InfoBlock #19074137/Trx 2ad6b0c9cb512b0addcf61d944865a5f4d1ca011
View Raw JSON Data
{
  "trx_id": "2ad6b0c9cb512b0addcf61d944865a5f4d1ca011",
  "block": 19074137,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-18T02:55:48",
  "op": [
    "vote",
    {
      "voter": "rohancmr",
      "author": "fuzeh",
      "permlink": "re-rohancmr-query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library-20180117t222729952z",
      "weight": 10000
    }
  ]
}
2018/01/18 02:55:39
parent authorfuzeh
parent permlinkre-rohancmr-query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library-20180117t222729952z
authorrohancmr
permlinkre-fuzeh-re-rohancmr-query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library-20180118t025538298z
title
bodyThankyou.
json metadata{"tags":["utopian-io"],"app":"steemit/0.1"}
Transaction InfoBlock #19074134/Trx e78e9323cfe9ecbb6b1ec6e841438a99b18fb59a
View Raw JSON Data
{
  "trx_id": "e78e9323cfe9ecbb6b1ec6e841438a99b18fb59a",
  "block": 19074134,
  "trx_in_block": 13,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-18T02:55:39",
  "op": [
    "comment",
    {
      "parent_author": "fuzeh",
      "parent_permlink": "re-rohancmr-query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library-20180117t222729952z",
      "author": "rohancmr",
      "permlink": "re-fuzeh-re-rohancmr-query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library-20180118t025538298z",
      "title": "",
      "body": "Thankyou.",
      "json_metadata": "{\"tags\":[\"utopian-io\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/01/18 02:55:18
parent authorrohancmr
parent permlinkquery-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library
authorrohancmr
permlinkre-rohancmr-query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library-20180118t025516005z
title
body@originalworks
json metadata{"tags":["utopian-io"],"users":["originalworks"],"app":"steemit/0.1"}
Transaction InfoBlock #19074127/Trx 3be233e9a70192e7916b599c200ac3db991ad7e9
View Raw JSON Data
{
  "trx_id": "3be233e9a70192e7916b599c200ac3db991ad7e9",
  "block": 19074127,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-18T02:55:18",
  "op": [
    "comment",
    {
      "parent_author": "rohancmr",
      "parent_permlink": "query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library",
      "author": "rohancmr",
      "permlink": "re-rohancmr-query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library-20180118t025516005z",
      "title": "",
      "body": "@originalworks",
      "json_metadata": "{\"tags\":[\"utopian-io\"],\"users\":[\"originalworks\"],\"app\":\"steemit/0.1\"}"
    }
  ]
}
2018/01/17 22:27:30
parent authorrohancmr
parent permlinkquery-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library
authorfuzeh
permlinkre-rohancmr-query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library-20180117t222729952z
title
bodyThank you for the contribution. It has been approved. You can contact us on [Discord](https://discord.gg/uTyJkNm). **[[utopian-moderator]](https://utopian.io/moderators)**
json metadata{"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"}
Transaction InfoBlock #19068772/Trx 764a7733d0c903f24ec18048e2a67ab5a2860145
View Raw JSON Data
{
  "trx_id": "764a7733d0c903f24ec18048e2a67ab5a2860145",
  "block": 19068772,
  "trx_in_block": 16,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-17T22:27:30",
  "op": [
    "comment",
    {
      "parent_author": "rohancmr",
      "parent_permlink": "query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library",
      "author": "fuzeh",
      "permlink": "re-rohancmr-query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library-20180117t222729952z",
      "title": "",
      "body": "Thank you for the contribution. It has been approved.\n\nYou can contact us on [Discord](https://discord.gg/uTyJkNm).\n**[[utopian-moderator]](https://utopian.io/moderators)**",
      "json_metadata": "{\"tags\":[\"utopian-io\"],\"community\":\"utopian\",\"app\":\"utopian/1.0.0\"}"
    }
  ]
}
2018/01/17 22:27:24
parent author
parent permlinkutopian-io
authorrohancmr
permlinkquery-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library
titleQuery MSSQL DB from CentOS and Windows using Python's pyodbc Library
body![python-sqlserver.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516212573/hrtl10t72x3p5zdfvu0h.jpg) This tutorial explains how we can connect to a Microsoft SQL Server database from Python running under Linux or Windows using ``` pyodbc ``` library. Pyodbc is an open source Python module that makes accessing ODBC databases simple. It implements the DB API 2.0 specification. Using it, we can easily connect Python applications to data sources with an ODBC driver. ## What this tutorial covers ? * Introduction to ODBC Driver for CentOS and Windows * Install Python's pyodbc module * Install ODBC Driver on CentOS. * Python code to connect to MSSQL DB from CentOS with Data Source Name * Python code to connect to MSSQL DB from CentOS without Data Source Name * Install ODBC Driver on Windows. * Python code to connect to MSSQL DB from Windows. ## Requirements * Microsoft SQL Server * CentOS or RedHat Linux system * Windows system ## Difficulty The implementation explained here is straightforward. * Basic ## SQL Instance In this tutorial, we'll use Steem SQL instance. Details are mentioned below : * Server: sql.steemsql.com * User: steemit * Password: steemit * Database: DBSteem * Port: 1433 ## SQL Server Setup * The SQL server installation must be setup to allow external connections. * Note the credentials to connect the SQL server. * Note the port to which SQL server is listening. * Make sure connection is not blocked by firewall. To check this, attempt a telnet from the host system and check if the connection fails. ## Python Library to connect to MSSQL DB * pyodbc : It is a Python module that allows to connect to almost any database using ODBC driver. ## Installation of pyodbc The easiest method to install pyodbc is by using ``` pip ```. Use below command to install pyodbc library. ``` pip install pyodbc ``` ![pyodbc_install.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516212416/dl1zqegx4n1qel0295kf.gif) ## Installation under CentOS or RedHat #### Required packages under CentOS * FreeTDS : It is the ``` driver ``` thats allows applications to talk to the MSSQL DB. * UnixODBC : It is the ``` driver manager ```. #### Installation Steps * All required packages are available in ``` epel ``` repository. For CentOS 7, it is available at http://mirror.vbctv.in/epel/7/x86_64/e/epel-release-7-9.noarch.rpm Add this repository with below command. ``` rpm -Uvh http://mirror.vbctv.in/epel//7/x86_64/e/epel-release-7-9.noarch.rpm ``` * Install the required packages using yum. ``` yum install -y unixODBC unixODBC-devel freetds ``` ![installing_dependencies.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213051/aerzizq9qp1l0tbokm6v.gif) We can connect to SQL server with or without Data Source Name (DSN). Both the methods are mentioned below. ### Method 1 : Configure using Data Source Name (DSN) ##### Configure MSSQL Server in FreeTDS's setting : * Edit /etc/freetds.conf file and add below SQL server details appropriately. Note that we have named the SQL server ``` steemsqlserver ```. ``` [steemsqlserver] ``` ``` host = sql.steemsql.com ``` ``` port = 1433 ``` ``` tds version = 7.0 ``` ![tds_file_setup.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213129/qbnxp08qgb1ol2nx5izx.gif) * Test if the newly added connection works with below command. ``` tsql -S steemsqlserver -U steemit -P steemit ``` * Run some SQL command to make sure that everything is working fine. (For this example, we are running a SQL query to fetch all Steem accounts that start with ``` rohan ```). ``` select name from DBSteem.dbo.Accounts where name like 'rohan%' ``` ``` go ``` ![tds_script.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213182/utvztjpi8i2ccholrw3d.gif) If everything works fine, it will print the result of the query. #### Setup unixODBC to use FreeTSD * Run ``` odbcinst -j ``` to know where the configuration files are located. We need file location for ``` drivers ``` and ``` system data source ```. In CentOS they are /etc/odbcinst.ini and /etc/odbc.ini respectively. However, the output of the command will give the file location. [odbcinst_j.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213255/vlk8ej94ejyksaql9ufi.png) ![odbc_j.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213210/fwea53ybystcom2etta9.gif)! * Edit the /etc/odbcinst.ini as below. ![odbcinst.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213300/k8daaod0kecqyosqvpn8.png) ![odbcinst.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213345/yozlqzopulzvikm9sros.gif) If the ``` Driver ``` and ``` Setup ``` does not work then search the ``` libtds ``` files using ``` find ``` command. * Edit the /etc/odbc.ini as below. ![odbc_ini.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213378/fyftle2n7clxewf2eyik.png) ![odbc_ini.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213408/vupfeftfpnablsrvzjp2.gif) #### Connect from Python Application * Use below command to connect to SQL DB using ``` pyodbc ``` ``` pyodbc.connect('DSN='steemsqlserverdatasource'; UID='steemit'; PWD=''steemit; DATABASE='DBSteem';' ``` Example : Below code connects to the Steem SQL server and list all accounts which starts with 'rohan'. ![linux_code_DSN.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213452/og6hkpzxi6rmjshcwsjq.png) Code Output ![code_for_linux_dsn.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213526/ydbyfmd24mg2eyua0k9m.gif) #### Method 2 : Configure without Data Source Name. In this case, we specify the driver, SQL server name and ports and TDS Version in the pyodbc connection string. ``` pyodbc.connect('Driver='FreeTDS'; Server='sql.steemsql.com'; UID='steemit'; PWD='steemit'; Database='DBSteem'; TDS_Version='7.0'; Port='1433';') ``` * The below code shows implementation of example, mention in Method 1, without Data Source Name. ![linux_code_without_DSN.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213555/bh0p12iqx4lxwvfdyaty.png) Code Output ![linux_code_with_server.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213613/pp5pbcojhdsgfde8pihx.gif) ## Installation under Windows * Download the ODBC Drive for Windows from below link. The latest ODBC driver for SQL Server available at the time of writing this tutorial is ODBC Driver 13. ``` https://www.microsoft.com/en-us/download/details.aspx?id=53339 ``` * Install the downloaded driver. ![odbc_for_windows.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213671/huhnm5rbfzqyowkew5ge.gif) * Once the driver is installed, we can now connect to the SQL server from python application using pyodbc. The connection string for pyodbc is mentioned below. ``` pyodbc.connect('Driver={ODBC Driver 13 for SQL Server}; Server=sql.steemsql.com; UID=steemit; PWD=steemit; Database=DBSteem;') ``` * Below code shows implementation of same example mentioned in Method 1. ![windows_code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213767/bsm1t8htbeec1hy6q8gx.png) * Code Output ![windows_code_run.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213808/ihglfi1ssalvxicoef4y.gif) We saw how easily we can connect to Microsoft SQL server from CentOS or Windows using Python's pyodbc library. If you have any questions or comments , I'd would love to hear from you in comment section. <br /><hr/><em>Posted on <a href="https://utopian.io/utopian-io/@rohancmr/query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library">Utopian.io - Rewarding Open Source Contributors</a></em><hr/>
json metadata{"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"id":59235,"name":"pyodbc","full_name":"mkleehammer/pyodbc","html_url":"https://github.com/mkleehammer/pyodbc","fork":false,"owner":{"login":"mkleehammer"}},"pullRequests":[],"platform":"github","type":"tutorials","tags":["utopian-io","steemsql","pyodbc","sql","odbc"],"links":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1516212573/hrtl10t72x3p5zdfvu0h.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516212416/dl1zqegx4n1qel0295kf.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213051/aerzizq9qp1l0tbokm6v.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213129/qbnxp08qgb1ol2nx5izx.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213182/utvztjpi8i2ccholrw3d.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213255/vlk8ej94ejyksaql9ufi.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213210/fwea53ybystcom2etta9.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213300/k8daaod0kecqyosqvpn8.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213345/yozlqzopulzvikm9sros.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213378/fyftle2n7clxewf2eyik.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213408/vupfeftfpnablsrvzjp2.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213452/og6hkpzxi6rmjshcwsjq.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213526/ydbyfmd24mg2eyua0k9m.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213555/bh0p12iqx4lxwvfdyaty.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213613/pp5pbcojhdsgfde8pihx.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213671/huhnm5rbfzqyowkew5ge.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213767/bsm1t8htbeec1hy6q8gx.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213808/ihglfi1ssalvxicoef4y.gif"],"image":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1516212573/hrtl10t72x3p5zdfvu0h.jpg","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516212416/dl1zqegx4n1qel0295kf.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213051/aerzizq9qp1l0tbokm6v.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213129/qbnxp08qgb1ol2nx5izx.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213182/utvztjpi8i2ccholrw3d.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213210/fwea53ybystcom2etta9.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213300/k8daaod0kecqyosqvpn8.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213345/yozlqzopulzvikm9sros.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213378/fyftle2n7clxewf2eyik.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213408/vupfeftfpnablsrvzjp2.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213452/og6hkpzxi6rmjshcwsjq.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213526/ydbyfmd24mg2eyua0k9m.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213555/bh0p12iqx4lxwvfdyaty.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213613/pp5pbcojhdsgfde8pihx.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213671/huhnm5rbfzqyowkew5ge.gif","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213767/bsm1t8htbeec1hy6q8gx.png","https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213808/ihglfi1ssalvxicoef4y.gif"],"moderator":{"account":"fuzeh","time":"2018-01-17T22:27:23.888Z","reviewed":true,"pending":false,"flagged":false}}
Transaction InfoBlock #19068770/Trx 1f35c0acb8dea96e9995ef7cd6dc3c51a9c9f1a0
View Raw JSON Data
{
  "trx_id": "1f35c0acb8dea96e9995ef7cd6dc3c51a9c9f1a0",
  "block": 19068770,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-17T22:27:24",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "utopian-io",
      "author": "rohancmr",
      "permlink": "query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library",
      "title": "Query MSSQL DB from CentOS and Windows using Python's pyodbc Library",
      "body": "![python-sqlserver.jpg](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516212573/hrtl10t72x3p5zdfvu0h.jpg)\n\n\nThis tutorial explains how we can connect to a Microsoft SQL Server database from Python  running under Linux or Windows using ``` pyodbc ``` library.\n\nPyodbc is an open source Python module that makes accessing ODBC databases simple. It implements the DB API 2.0 specification. Using it, we can easily connect Python applications to data sources with an ODBC driver.\n\n## What this tutorial covers ?\n\n* Introduction to ODBC Driver for CentOS and Windows\n* Install Python's pyodbc module\n* Install ODBC Driver on CentOS.\n* Python code to connect to MSSQL DB from CentOS  with Data Source Name\n* Python code to connect to MSSQL DB from CentOS  without Data Source Name\n* Install ODBC Driver on Windows.\n* Python code to connect to MSSQL DB from Windows.\n\n## Requirements\n\n* Microsoft SQL Server\n* CentOS or RedHat Linux system\n* Windows system\n\n## Difficulty\n\nThe implementation explained here is straightforward.\n\n* Basic\n\n## SQL Instance\n\nIn this tutorial, we'll use Steem SQL instance. Details are mentioned below :\n\n* Server: sql.steemsql.com\n* User: steemit\n* Password: steemit\n* Database: DBSteem\n* Port: 1433\n\n## SQL Server Setup\n\n* The SQL server installation must be setup to allow external connections.\n* Note the credentials to connect the SQL server.\n* Note the port to which SQL server is listening.\n* Make sure connection is not blocked by firewall. To check this, attempt a telnet from the host system and check if the connection fails.\n\n## Python Library to connect to MSSQL DB\n\n* pyodbc : It is a Python module that allows to connect to almost any database using ODBC driver.\n\n\n\n## Installation of pyodbc\n\nThe easiest method to install pyodbc is by using ``` pip ```. Use below command to install pyodbc library.\n\n``` pip install pyodbc ```\n\n![pyodbc_install.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516212416/dl1zqegx4n1qel0295kf.gif)\n\n\n\n\n## Installation under CentOS or RedHat\n\n\n#### Required packages under CentOS\n\n* FreeTDS : It is the ``` driver ``` thats allows applications to talk to the MSSQL DB.\n* UnixODBC : It is the ``` driver manager ```.\n\n#### Installation Steps\n* All required packages are available in ``` epel ``` repository. For CentOS 7, it is available at http://mirror.vbctv.in/epel/7/x86_64/e/epel-release-7-9.noarch.rpm\nAdd this repository with below command.\n\n``` rpm -Uvh http://mirror.vbctv.in/epel//7/x86_64/e/epel-release-7-9.noarch.rpm ```\n\n\n\n\n\n* Install the required packages using yum.\n\n``` yum install -y unixODBC unixODBC-devel freetds ```\n\n![installing_dependencies.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213051/aerzizq9qp1l0tbokm6v.gif)\n\n\n\nWe can connect to SQL server with or without Data Source Name (DSN). Both the methods are mentioned below.\n\n\n### Method 1 : Configure using Data Source Name (DSN)\n\n##### Configure MSSQL Server in FreeTDS's setting : \n\n* Edit /etc/freetds.conf file and add below SQL server details appropriately. Note that we have named the SQL server ``` steemsqlserver ```.\n\n``` [steemsqlserver] ```\n``` host = sql.steemsql.com ```\n``` port = 1433 ```\n``` tds version = 7.0 ```\n\n\n![tds_file_setup.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213129/qbnxp08qgb1ol2nx5izx.gif)\n\n\n* Test if the newly added connection works with below command.\n\n``` tsql -S steemsqlserver -U steemit -P steemit ```\n\n* Run some SQL command to make sure that everything is working fine. (For this example, we are running a SQL query to fetch all Steem accounts that start with ``` rohan ```).\n``` select name from DBSteem.dbo.Accounts where name like 'rohan%' ```\n``` go ```\n\n![tds_script.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213182/utvztjpi8i2ccholrw3d.gif)\n\n\n\n\nIf everything works fine, it will print the result of the query.\n\n#### Setup unixODBC to use FreeTSD\n\n* Run ``` odbcinst -j ``` to know where the configuration files are located. We need file location for ``` drivers ``` and ``` system data source ```. In CentOS they are /etc/odbcinst.ini and /etc/odbc.ini respectively. However, the output of the command will give the file location.\n\n[odbcinst_j.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213255/vlk8ej94ejyksaql9ufi.png)\n\n![odbc_j.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213210/fwea53ybystcom2etta9.gif)!\n\n\n\n\n* Edit the /etc/odbcinst.ini as below. \n\n![odbcinst.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213300/k8daaod0kecqyosqvpn8.png)\n\n![odbcinst.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213345/yozlqzopulzvikm9sros.gif)\n\n\n\nIf the ``` Driver ``` and ``` Setup ``` does not work then search the ``` libtds ``` files using ``` find ``` command. \n\n\n* Edit the /etc/odbc.ini as below.\n\n![odbc_ini.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213378/fyftle2n7clxewf2eyik.png)\n\n![odbc_ini.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213408/vupfeftfpnablsrvzjp2.gif)\n\n\n\n#### Connect from Python Application\n\n* Use below command to connect to SQL DB using ``` pyodbc ```\n\n``` pyodbc.connect('DSN='steemsqlserverdatasource'; UID='steemit'; PWD=''steemit; DATABASE='DBSteem';' ```\n\n\nExample : Below code connects to the Steem SQL server and list all accounts which starts with 'rohan'.\n\n![linux_code_DSN.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213452/og6hkpzxi6rmjshcwsjq.png)\n\n\n\n\nCode Output\n\n\n![code_for_linux_dsn.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213526/ydbyfmd24mg2eyua0k9m.gif)\n\n\n\n\n#### Method 2 : Configure without Data Source Name.\n\nIn this case, we specify the driver, SQL server name and ports and TDS Version in the pyodbc connection string.\n\n``` pyodbc.connect('Driver='FreeTDS'; Server='sql.steemsql.com'; UID='steemit'; PWD='steemit'; Database='DBSteem'; TDS_Version='7.0'; Port='1433';') ```\n\n* The below code shows implementation of example, mention in Method 1, without Data Source Name.\n\n\n\n![linux_code_without_DSN.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213555/bh0p12iqx4lxwvfdyaty.png)\n\n\n\n\nCode Output\n\n![linux_code_with_server.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213613/pp5pbcojhdsgfde8pihx.gif)\n\n\n\n## Installation under Windows\n\n* Download the ODBC Drive for Windows from below link. The latest ODBC driver for SQL Server available at the time of writing this tutorial is ODBC Driver 13.\n\n``` https://www.microsoft.com/en-us/download/details.aspx?id=53339 ```\n\n* Install the downloaded driver.\n\n\n![odbc_for_windows.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213671/huhnm5rbfzqyowkew5ge.gif)\n\n\n\n* Once the driver is installed, we can now connect to the SQL server from python application using pyodbc.  The connection string for pyodbc is mentioned below.\n\n``` pyodbc.connect('Driver={ODBC Driver 13 for SQL Server}; Server=sql.steemsql.com; UID=steemit; PWD=steemit; Database=DBSteem;') ```\n\n* Below code shows implementation of same example mentioned in Method 1.\n\n![windows_code.PNG](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213767/bsm1t8htbeec1hy6q8gx.png)\n\n\n\n\n\n\n\n* Code Output\n\n\n\n![windows_code_run.gif](https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213808/ihglfi1ssalvxicoef4y.gif)\n\n\n\nWe saw how easily we can connect to Microsoft SQL server from CentOS or Windows using Python's pyodbc library.\n\n\nIf you have any questions or comments , I'd would love to hear from you in comment section.\n\n\n\n\n<br /><hr/><em>Posted on <a href=\"https://utopian.io/utopian-io/@rohancmr/query-mssql-db-from-centos-and-windows-using-python-s-pyodbc-library\">Utopian.io -  Rewarding Open Source Contributors</a></em><hr/>",
      "json_metadata": "{\"community\":\"utopian\",\"app\":\"utopian/1.0.0\",\"format\":\"markdown\",\"repository\":{\"id\":59235,\"name\":\"pyodbc\",\"full_name\":\"mkleehammer/pyodbc\",\"html_url\":\"https://github.com/mkleehammer/pyodbc\",\"fork\":false,\"owner\":{\"login\":\"mkleehammer\"}},\"pullRequests\":[],\"platform\":\"github\",\"type\":\"tutorials\",\"tags\":[\"utopian-io\",\"steemsql\",\"pyodbc\",\"sql\",\"odbc\"],\"links\":[\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516212573/hrtl10t72x3p5zdfvu0h.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516212416/dl1zqegx4n1qel0295kf.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213051/aerzizq9qp1l0tbokm6v.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213129/qbnxp08qgb1ol2nx5izx.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213182/utvztjpi8i2ccholrw3d.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213255/vlk8ej94ejyksaql9ufi.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213210/fwea53ybystcom2etta9.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213300/k8daaod0kecqyosqvpn8.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213345/yozlqzopulzvikm9sros.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213378/fyftle2n7clxewf2eyik.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213408/vupfeftfpnablsrvzjp2.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213452/og6hkpzxi6rmjshcwsjq.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213526/ydbyfmd24mg2eyua0k9m.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213555/bh0p12iqx4lxwvfdyaty.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213613/pp5pbcojhdsgfde8pihx.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213671/huhnm5rbfzqyowkew5ge.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213767/bsm1t8htbeec1hy6q8gx.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213808/ihglfi1ssalvxicoef4y.gif\"],\"image\":[\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516212573/hrtl10t72x3p5zdfvu0h.jpg\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516212416/dl1zqegx4n1qel0295kf.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213051/aerzizq9qp1l0tbokm6v.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213129/qbnxp08qgb1ol2nx5izx.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213182/utvztjpi8i2ccholrw3d.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213210/fwea53ybystcom2etta9.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213300/k8daaod0kecqyosqvpn8.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213345/yozlqzopulzvikm9sros.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213378/fyftle2n7clxewf2eyik.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213408/vupfeftfpnablsrvzjp2.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213452/og6hkpzxi6rmjshcwsjq.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213526/ydbyfmd24mg2eyua0k9m.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213555/bh0p12iqx4lxwvfdyaty.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213613/pp5pbcojhdsgfde8pihx.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213671/huhnm5rbfzqyowkew5ge.gif\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213767/bsm1t8htbeec1hy6q8gx.png\",\"https://res.cloudinary.com/hpiynhbhq/image/upload/v1516213808/ihglfi1ssalvxicoef4y.gif\"],\"moderator\":{\"account\":\"fuzeh\",\"time\":\"2018-01-17T22:27:23.888Z\",\"reviewed\":true,\"pending\":false,\"flagged\":false}}"
    }
  ]
}
steemdelegated 14.513 SP to @rohancmr
2018/01/17 19:49:48
delegatorsteem
delegateerohancmr
vesting shares23632.823961 VESTS
Transaction InfoBlock #19065618/Trx 413bbd38f6211ab2f07f651b85107bd57d8be84c
View Raw JSON Data
{
  "trx_id": "413bbd38f6211ab2f07f651b85107bd57d8be84c",
  "block": 19065618,
  "trx_in_block": 80,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-17T19:49:48",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "rohancmr",
      "vesting_shares": "23632.823961 VESTS"
    }
  ]
}
2018/01/17 19:02:12
required auths[]
required posting auths["rohancmr"]
idfollow
json["follow",{"follower":"rohancmr","following":"thanskol","what":["blog"]}]
Transaction InfoBlock #19064666/Trx bdc51b4902ba1bbbe175b6f625eada16339d1792
View Raw JSON Data
{
  "trx_id": "bdc51b4902ba1bbbe175b6f625eada16339d1792",
  "block": 19064666,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-17T19:02:12",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "rohancmr"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"rohancmr\",\"following\":\"thanskol\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/01/17 19:02:09
required auths[]
required posting auths["rohancmr"]
idfollow
json["follow",{"follower":"rohancmr","following":"sujithartist","what":["blog"]}]
Transaction InfoBlock #19064665/Trx ac492bfce55c02eccf076f918cdf063e163170df
View Raw JSON Data
{
  "trx_id": "ac492bfce55c02eccf076f918cdf063e163170df",
  "block": 19064665,
  "trx_in_block": 17,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-17T19:02:09",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "rohancmr"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"rohancmr\",\"following\":\"sujithartist\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/01/17 19:02:06
required auths[]
required posting auths["rohancmr"]
idfollow
json["follow",{"follower":"rohancmr","following":"sportic","what":["blog"]}]
Transaction InfoBlock #19064664/Trx 48244556c5af1e3c77aca46909280829abaf4087
View Raw JSON Data
{
  "trx_id": "48244556c5af1e3c77aca46909280829abaf4087",
  "block": 19064664,
  "trx_in_block": 53,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-17T19:02:06",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "rohancmr"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"rohancmr\",\"following\":\"sportic\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/01/17 19:02:03
required auths[]
required posting auths["rohancmr"]
idfollow
json["follow",{"follower":"rohancmr","following":"reddyyeswanth","what":["blog"]}]
Transaction InfoBlock #19064663/Trx 9a908b991141668db9274b6e8aafda47a612d5c0
View Raw JSON Data
{
  "trx_id": "9a908b991141668db9274b6e8aafda47a612d5c0",
  "block": 19064663,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-17T19:02:03",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "rohancmr"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"rohancmr\",\"following\":\"reddyyeswanth\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/01/17 19:02:00
required auths[]
required posting auths["rohancmr"]
idfollow
json["follow",{"follower":"rohancmr","following":"raza786","what":["blog"]}]
Transaction InfoBlock #19064662/Trx 2da4f0109d66b7459460c37204d4d81d2e3a9f9a
View Raw JSON Data
{
  "trx_id": "2da4f0109d66b7459460c37204d4d81d2e3a9f9a",
  "block": 19064662,
  "trx_in_block": 34,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-17T19:02:00",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "rohancmr"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"rohancmr\",\"following\":\"raza786\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/01/17 19:01:54
required auths[]
required posting auths["rohancmr"]
idfollow
json["follow",{"follower":"rohancmr","following":"mony432hz","what":["blog"]}]
Transaction InfoBlock #19064660/Trx 54a10ceb13b5ac948e1e056045e4974d00996e67
View Raw JSON Data
{
  "trx_id": "54a10ceb13b5ac948e1e056045e4974d00996e67",
  "block": 19064660,
  "trx_in_block": 23,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-17T19:01:54",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "rohancmr"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"rohancmr\",\"following\":\"mony432hz\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/01/17 19:01:48
required auths[]
required posting auths["rohancmr"]
idfollow
json["follow",{"follower":"rohancmr","following":"lovelyboo","what":["blog"]}]
Transaction InfoBlock #19064658/Trx d039d4086e760b6e4cd161000e17b5d937391f28
View Raw JSON Data
{
  "trx_id": "d039d4086e760b6e4cd161000e17b5d937391f28",
  "block": 19064658,
  "trx_in_block": 31,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-17T19:01:48",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "rohancmr"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"rohancmr\",\"following\":\"lovelyboo\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/01/17 19:01:48
required auths[]
required posting auths["rohancmr"]
idfollow
json["follow",{"follower":"rohancmr","following":"kilosworld","what":["blog"]}]
Transaction InfoBlock #19064658/Trx a2d8f8a8c3d0e7ae715aa478d14cae53507ee14c
View Raw JSON Data
{
  "trx_id": "a2d8f8a8c3d0e7ae715aa478d14cae53507ee14c",
  "block": 19064658,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-17T19:01:48",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "rohancmr"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"rohancmr\",\"following\":\"kilosworld\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/01/17 19:01:39
required auths[]
required posting auths["rohancmr"]
idfollow
json["follow",{"follower":"rohancmr","following":"hugewhale","what":["blog"]}]
Transaction InfoBlock #19064655/Trx ef02436a227213cb3514c7363b9389092c3ab47f
View Raw JSON Data
{
  "trx_id": "ef02436a227213cb3514c7363b9389092c3ab47f",
  "block": 19064655,
  "trx_in_block": 39,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-17T19:01:39",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "rohancmr"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"rohancmr\",\"following\":\"hugewhale\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/01/17 19:01:33
required auths[]
required posting auths["rohancmr"]
idfollow
json["follow",{"follower":"rohancmr","following":"buddy67","what":["blog"]}]
Transaction InfoBlock #19064653/Trx bf3f88d75b6fedff2aecfe81abfb80fddf905143
View Raw JSON Data
{
  "trx_id": "bf3f88d75b6fedff2aecfe81abfb80fddf905143",
  "block": 19064653,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-17T19:01:33",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "rohancmr"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"rohancmr\",\"following\":\"buddy67\",\"what\":[\"blog\"]}]"
    }
  ]
}

Account Metadata

POSTING JSON METADATA
profile{"profile_image":"https://s20.postimg.org/9lfv93359/Untitled.png","name":"rohan","cover_image":"https://s20.postimg.org/6wgh5kg2l/geek_derek_prospero_1680x1050_wallpaper_www.wallpapername.com_90.jpg"}
JSON METADATA
profile{"profile_image":"https://s20.postimg.org/9lfv93359/Untitled.png","name":"rohan","cover_image":"https://s20.postimg.org/6wgh5kg2l/geek_derek_prospero_1680x1050_wallpaper_www.wallpapername.com_90.jpg"}
{
  "posting_json_metadata": {
    "profile": {
      "profile_image": "https://s20.postimg.org/9lfv93359/Untitled.png",
      "name": "rohan",
      "cover_image": "https://s20.postimg.org/6wgh5kg2l/geek_derek_prospero_1680x1050_wallpaper_www.wallpapername.com_90.jpg"
    }
  },
  "json_metadata": {
    "profile": {
      "profile_image": "https://s20.postimg.org/9lfv93359/Untitled.png",
      "name": "rohan",
      "cover_image": "https://s20.postimg.org/6wgh5kg2l/geek_derek_prospero_1680x1050_wallpaper_www.wallpapername.com_90.jpg"
    }
  }
}

Auth Keys

Owner
Single Signature
Public Keys
STM6B4UVGw7pt1rLJ7PaQ1WBYUNNzxyF1XEwMBRmRL8H2Fu7Dutth1/1
Active
Single Signature
Public Keys
STM7Qmxn1VFHDmy2L15QtWjGNpecKYF725ufgXFu7BFCe1ZN24DcT1/1
Posting
Single Signature
Public Keys
STM7FSVQGL5eSVnjWrtp6kf39R4cuWhSBmFsg5HSQQ1d7He2xnean1/1
App Permissions
Memo
STM5eah4z4G5vq9HefQNoJpp9DngyRJrTJy1VzMkNZXDEiEqNetzv
{
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM6B4UVGw7pt1rLJ7PaQ1WBYUNNzxyF1XEwMBRmRL8H2Fu7Dutth",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7Qmxn1VFHDmy2L15QtWjGNpecKYF725ufgXFu7BFCe1ZN24DcT",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [
      [
        "busy.app",
        1
      ],
      [
        "utopian.app",
        1
      ]
    ],
    "key_auths": [
      [
        "STM7FSVQGL5eSVnjWrtp6kf39R4cuWhSBmFsg5HSQQ1d7He2xnean",
        1
      ]
    ]
  },
  "memo": "STM5eah4z4G5vq9HefQNoJpp9DngyRJrTJy1VzMkNZXDEiEqNetzv"
}

Witness Votes

0 / 30
No active witness votes.
[]